History log of /external/e2fsprogs/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d25948b9b4a9e361ef071dc8175df0407f60b7e0 21-Nov-2014 JP Abgrall <jpa@google.com> tune2fs: Allow building it as a static lib

This allows getting all of tune2fs as a static library.
The entry point is
int tune2fs_main(int argc, char **argv).
It requires passing argv[0]="tune2fs" to get tune2fs behavior.

Bug: 18430740
Change-Id: I7bf8d96c53066a4da37778c0d67383b0b820e2ff
ib/blkid/Android.mk
ib/e2p/Android.mk
ib/et/Android.mk
ib/ext2fs/Android.mk
ib/quota/Android.mk
isc/Android.mk
isc/tune2fs.c
isc/tune2fs.h
8b6dd78abe0f9811cf8870198992860ffe2d9f11 30-Jun-2014 JP Abgrall <jpa@google.com> am 24c386ed: lib/uuid: make a static library also (fix build)

* commit '24c386ed46cd767edc2fd0e5e2e2b8a4790d109d':
lib/uuid: make a static library also (fix build)
24c386ed46cd767edc2fd0e5e2e2b8a4790d109d 12-Jun-2014 JP Abgrall <jpa@google.com> lib/uuid: make a static library also (fix build)

Change-Id: Idb36204f2d8cadb9564db445d5301f705ce4d043
Signed-off-by: JP Abgrall <jpa@google.com>
(cherry picked from commit a9e24fdeb275a2afc964f511583795052801ad65)
ib/uuid/Android.mk
c4fbc6f0c719fd656344c13b5a15173e9dd98fe7 25-Jun-2014 JP Abgrall <jpa@google.com> am 721f3bc5: Merge "lib/uuid: make a static library also"

* commit '721f3bc56989b5f4101e646a02d598ddb4a7ff6e':
lib/uuid: make a static library also
721f3bc56989b5f4101e646a02d598ddb4a7ff6e 25-Jun-2014 JP Abgrall <jpa@google.com> Merge "lib/uuid: make a static library also"
e85a8c8dec23bbc84b74e9d00000925cba21635f 12-Jun-2014 JP Abgrall <jpa@google.com> lib/uuid: make a static library also

Change-Id: Idb36204f2d8cadb9564db445d5301f705ce4d043
Signed-off-by: JP Abgrall <jpa@google.com>
ib/uuid/Android.mk
a9e24fdeb275a2afc964f511583795052801ad65 12-Jun-2014 JP Abgrall <jpa@google.com> lib/uuid: make a static library also

Change-Id: Idb36204f2d8cadb9564db445d5301f705ce4d043
Signed-off-by: JP Abgrall <jpa@google.com>
ib/uuid/Android.mk
9bcd28dd1ee36a06fe6dc6f21e7cf8859ffc824e 22-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
681033c054a4d2a0a5cb67fcea67c452210e5422 22-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
4b5ff54047bcab937b2a6eb675e57dd5a21b49fe 21-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
04ce26531304ff251170f84e788dd83082d3b86d 20-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
94f5ed856215fa061a8282fa568cabffb9b4227d 19-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
06f9966b4922aa8f6e316b203d73c8347658cc29 18-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
21d6dc5557429fa251c1769e911ea9969620dcc5 17-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
2fbf5b1d3a7f22690d049e2b7671eacbd8077a68 15-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
096c66686a9e13489712562387cfb00be5239f6d 14-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
d8b97abca0505c6bc5fa8dccc01557e0c5a9c9d4 13-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
ca4f3cbfdde33bdf50540a2dcf4a48d91d679b50 12-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
de67081e455b66fb613f85c3ae156969c8f57d41 11-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
2b62c8cc3ca198f02e5be69fdf6083ff40fce6d3 10-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
b9f22c29d42837c5130afe43b0122e2c53699ed1 08-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
1943614e9b6780eefc10a2b7c4f6b74b189aeec8 07-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
4dffb8258bd4c826d12c9c487709dd2178674f11 07-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
ab7423bc908da900587f6e73e33eba6b74a07001 06-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
c1cb19c7dfd76c73617d8873706eda62b69a9947 05-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
19cb517050907df6e1a39b0e9cedeb18f23b1c86 04-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
71b58bf5865e13d8d196ca0efd2aef2985f15030 03-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
fbfd217251831ceab47597f75de49ecdffa62bb5 01-May-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
4787bbb140e18366726617e919f4ebb3698e21bd 30-Apr-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
9894cf592e8668ebce15f7cf48f44c1a627ed321 29-Apr-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
79800c2a1386fb9b6ac50364aae3383e944624b0 28-Apr-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
0b0c27d140050984e26dd2d24afd01b9b3442fd2 27-Apr-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
236e06304e32a1530d3e3c96b2462434b1330903 26-Apr-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
d1346a35b7d8c4e43eebc5eb1cd7fd5acfdd167c 24-Apr-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to 2079d768f79f636223d89b988a30209adf8dddbe
2079d768f79f636223d89b988a30209adf8dddbe 24-Mar-2014 JP Abgrall <jpa@google.com> am 78374f04: Merge "llseek: setup the correct seek for ext2fs_llseek"

* commit '78374f0476e3af9060362028e99085e1c200514b':
llseek: setup the correct seek for ext2fs_llseek
78374f0476e3af9060362028e99085e1c200514b 24-Mar-2014 JP Abgrall <jpa@google.com> Merge "llseek: setup the correct seek for ext2fs_llseek"
35bc958f2aa77bc1ed70a247bb0ecbe74fed9520 22-Mar-2014 The Android Automerger <android-build@google.com> merge in master-release history after reset to master
a876a33317cbcc505a596014f5115861e54c9550 06-Mar-2014 JP Abgrall <jpa@google.com> e2fsck: remove unneeded type redefinitions

Or else ...:
In file included from e2fsck/pass5.c:21:
e2fsck/problem.h:13: error: redefinition of typedef ‘__u32’
lib/ext2fs/ext2_types.h:56: error: previous declaration of ‘__u32’ was here
e2fsck/problem.h:14: error: redefinition of typedef ‘errcode_t’
lib/et/com_err.h:22: error: previous declaration of ‘errcode_t’ was here

Change-Id: I0a1ff3b2455bfbaf1e3d0940034a7dbcc231a0f7
Signed-off-by: JP Abgrall <jpa@google.com>
2fsck/problem.h
ce5bc5c878a8e1b4485ea9a051628a08699aad02 20-Mar-2014 JP Abgrall <jpa@google.com> llseek: setup the correct seek for ext2fs_llseek

After
http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/commit/lib/ext2fs/llseek.c?id=274d46e1d35af423d0292d63c4d0ad7a03be82ba

with
__linux__
defined(HAVE_LSEEK64) && defined(HAVE_LSEEK64_PROTOTYPE)
SIZEOF_OFF_T >= SIZEOF_LONG_LONG
it leads to ext2fs_llseek() doing a "return lseek(fd, offset, origin);"
Which fails for offsets > 32bit.

Also, with
__linux__
!(defined(HAVE_LSEEK64) && defined(HAVE_LSEEK64_PROTOTYPE))
defined(HAVE_LLSEEK)
SIZEOF_OFF_T == SIZEOF_LONG_LONG
my_llseek is not defined at all. And there is no need to define
llseek as lseek, as llseek is never used.
Luckily ext2fs_llseek() then does "return lseek(...);"
It would seem that my_llseek should be used in both places.

Bug: 13340735
Change-Id: Ie7330300c9c1ca103eaaef97536dcf10adbbba02
Signed-off-by: JP Abgrall <jpa@google.com>
ib/ext2fs/llseek.c
6c6a75dc1ed760f80417dd52a2a7b570fb738a0a 20-Mar-2014 JP Abgrall <jpa@google.com> llseek: setup the correct seek for ext2fs_llseek

After
http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/commit/lib/ext2fs/llseek.c?id=274d46e1d35af423d0292d63c4d0ad7a03be82ba

with
__linux__
defined(HAVE_LSEEK64) && defined(HAVE_LSEEK64_PROTOTYPE)
SIZEOF_OFF_T >= SIZEOF_LONG_LONG
it leads to ext2fs_llseek() doing a "return lseek(fd, offset, origin);"
Which fails for offsets > 32bit.

Also, with
__linux__
!(defined(HAVE_LSEEK64) && defined(HAVE_LSEEK64_PROTOTYPE))
defined(HAVE_LLSEEK)
SIZEOF_OFF_T == SIZEOF_LONG_LONG
my_llseek is not defined at all. And there is no need to define
llseek as lseek, as llseek is never used.
Luckily ext2fs_llseek() then does "return lseek(...);"
It would seem that my_llseek should be used in both places.

Bug: 13340735
Change-Id: Ie7330300c9c1ca103eaaef97536dcf10adbbba02
Signed-off-by: JP Abgrall <jpa@google.com>
ib/ext2fs/llseek.c
e0ed7404719a9ddd2ba427a80db5365c8bad18c0 20-Mar-2014 JP Abgrall <jpa@google.com> Switch back to 1.42.9 now that there is a fix

Revert "Revert changes that moved from 1.41.14 to 1.42.9"

This reverts commit 65f0aab98b20b5994a726ab90d355248bcddfffd.
hgignore
CONFIG.in
ODULE_LICENSE_GPL
akefile.in
EADME
EADME.subset
ELEASE-NOTES
ODO
onfig/config.guess
onfig/config.sub
onfig/parse-types.sh
onfigure
onfigure.in
ontrib/fallocate.c
ontrib/populate-extfs.sh
ontrib/spd_readdir.c
ebian/changelog
ebian/comerr-dev.doc-base
ebian/comerr-dev.files
ebian/comerr-dev.files.in
ebian/control.in
ebian/copyright
ebian/e2fsck-static.preinst
ebian/e2fslibs-dev.doc-base
ebian/e2fslibs-dev.files
ebian/e2fslibs-dev.files.in
ebian/e2fslibs.copyright
ebian/e2fslibs.files
ebian/e2fslibs.files.in
ebian/e2fslibs.symbols
ebian/e2fsprogs.copyright
ebian/e2fsprogs.files
ebian/e2fsprogs.preinst
ebian/e2fsprogs.shlibs.local.in
ebian/libblkid-dev.files
ebian/libblkid-dev.files.in
ebian/libblkid1.files
ebian/libblkid1.files.in
ebian/libcomerr2.files
ebian/libcomerr2.files.in
ebian/libcomerr2.symbols
ebian/libss2.files
ebian/libss2.files.in
ebian/libuuid1.files
ebian/libuuid1.files.in
ebian/rules
ebian/scripts/test-backtrace
ebian/source/format
ebian/ss-dev.files
ebian/ss-dev.files.in
ebian/uuid-dev.files
ebian/uuid-dev.files.in
ebugfs/Makefile.in
ebugfs/debug_cmds.ct
ebugfs/debugfs.8.in
ebugfs/debugfs.c
ebugfs/debugfs.h
ebugfs/dump.c
ebugfs/extent_cmds.ct
ebugfs/extent_inode.c
ebugfs/filefrag.c
ebugfs/htree.c
ebugfs/icheck.c
ebugfs/logdump.c
ebugfs/ls.c
ebugfs/lsdel.c
ebugfs/ncheck.c
ebugfs/ro_debug_cmds.ct
ebugfs/set_fields.c
ebugfs/unused.c
ebugfs/util.c
ebugfs/zap.c
epfix.sed
oc/Makefile.in
oc/libext2fs.texinfo
2fsck/Android.mk
2fsck/MODULE_LICENSE_GPL
2fsck/Makefile.in
2fsck/Makefile.pq
2fsck/badblocks.c
2fsck/dirinfo.c
2fsck/e2fsck.8.in
2fsck/e2fsck.c
2fsck/e2fsck.conf.5.in
2fsck/e2fsck.h
2fsck/ea_refcount.c
2fsck/ehandler.c
2fsck/emptydir.c
2fsck/iscan.c
2fsck/jfs_user.h
2fsck/journal.c
2fsck/logfile.c
2fsck/message.c
2fsck/pass1.c
2fsck/pass1b.c
2fsck/pass2.c
2fsck/pass3.c
2fsck/pass4.c
2fsck/pass5.c
2fsck/problem.c
2fsck/problem.h
2fsck/problemP.h
2fsck/prof_err.c
2fsck/prof_err.et
2fsck/profile.c
2fsck/profile.h
2fsck/quota.c
2fsck/recovery.c
2fsck/region.c
2fsck/rehash.c
2fsck/scantest.c
2fsck/sigcatcher.c
2fsck/super.c
2fsck/unix.c
2fsck/util.c
2fsprogs.lsm
2fsprogs.spec
2fsprogs.spec.in
xt2ed/Makefile.in
xt2ed/ext2ed.h
xt2ed/init.c
xt2ed/inode_com.c
xt2ed/super_com.c
ntl/Makefile.in
ib/Makefile.bsd-lib
ib/Makefile.elf-lib
ib/Makefile.solaris-lib
ib/blkid/Android.mk
ib/blkid/MODULE_LICENSE_LGPL
ib/blkid/Makefile.in
ib/blkid/blkid.pc.in
ib/blkid/blkid_types.h
ib/blkid/blkid_types.h.in
ib/blkid/cache.c
ib/blkid/getsize.c
ib/blkid/list.h
ib/blkid/probe.c
ib/blkid/probe.h
ib/config.h.in
ib/dirpaths.h.in
ib/e2p/MODULE_LICENSE_LGPL
ib/e2p/Makefile.in
ib/e2p/e2p.h
ib/e2p/e2p.pc.in
ib/e2p/feature.c
ib/e2p/fgetflags.c
ib/e2p/fsetflags.c
ib/e2p/getflags.c
ib/e2p/getversion.c
ib/e2p/ls.c
ib/e2p/mntopts.c
ib/e2p/parse_num.c
ib/e2p/pf.c
ib/e2p/setflags.c
ib/et/MODULE_LICENSE_MIT
ib/et/Makefile.in
ib/et/com_err.c
ib/et/com_err.h
ib/et/com_err.pc.in
ib/et/com_err.texinfo
ib/et/error_message.c
ib/et/error_table.h
ib/et/et_c.awk
ib/et/et_name.c
ib/et/test_cases/continuation.c
ib/et/test_cases/heimdal.c
ib/et/test_cases/heimdal2.c
ib/et/test_cases/heimdal3.c
ib/et/test_cases/imap_err.c
ib/et/test_cases/simple.c
ib/et/texinfo.tex
ib/ext2fs/Android.mk
ib/ext2fs/MODULE_LICENSE_LGPL
ib/ext2fs/Makefile.in
ib/ext2fs/Makefile.pq
ib/ext2fs/alloc.c
ib/ext2fs/alloc_sb.c
ib/ext2fs/alloc_stats.c
ib/ext2fs/alloc_tables.c
ib/ext2fs/badblocks.c
ib/ext2fs/bb_inode.c
ib/ext2fs/bitmaps.c
ib/ext2fs/bitops.c
ib/ext2fs/bitops.h
ib/ext2fs/blkmap64_ba.c
ib/ext2fs/blkmap64_rb.c
ib/ext2fs/blknum.c
ib/ext2fs/block.c
ib/ext2fs/bmap.c
ib/ext2fs/bmap64.h
ib/ext2fs/bmove.c
ib/ext2fs/brel.h
ib/ext2fs/brel_ma.c
ib/ext2fs/check_desc.c
ib/ext2fs/closefs.c
ib/ext2fs/crc32c.c
ib/ext2fs/crc32c_defs.h
ib/ext2fs/csum.c
ib/ext2fs/dblist.c
ib/ext2fs/dblist_dir.c
ib/ext2fs/dir_iterate.c
ib/ext2fs/dirblock.c
ib/ext2fs/dirhash.c
ib/ext2fs/dupfs.c
ib/ext2fs/e2image.h
ib/ext2fs/expanddir.c
ib/ext2fs/ext2_err.c
ib/ext2fs/ext2_err.et.in
ib/ext2fs/ext2_err.h
ib/ext2fs/ext2_fs.h
ib/ext2fs/ext2_io.h
ib/ext2fs/ext2_types.h
ib/ext2fs/ext2_types.h.in
ib/ext2fs/ext2fs.h
ib/ext2fs/ext2fs.pc.in
ib/ext2fs/ext2fsP.h
ib/ext2fs/ext_attr.c
ib/ext2fs/extent.c
ib/ext2fs/extent_dbg.ct
ib/ext2fs/fiemap.h
ib/ext2fs/fileio.c
ib/ext2fs/finddev.c
ib/ext2fs/flushb.c
ib/ext2fs/freefs.c
ib/ext2fs/gen_bitmap.c
ib/ext2fs/gen_bitmap64.c
ib/ext2fs/gen_crc32ctable.c
ib/ext2fs/get_pathname.c
ib/ext2fs/getsectsize.c
ib/ext2fs/getsize.c
ib/ext2fs/i_block.c
ib/ext2fs/icount.c
ib/ext2fs/imager.c
ib/ext2fs/initialize.c
ib/ext2fs/inline.c
ib/ext2fs/inode.c
ib/ext2fs/inode_io.c
ib/ext2fs/io_manager.c
ib/ext2fs/irel.h
ib/ext2fs/ismounted.c
ib/ext2fs/kernel-jbd.h
ib/ext2fs/kernel-list.h
ib/ext2fs/link.c
ib/ext2fs/llseek.c
ib/ext2fs/mkdir.c
ib/ext2fs/mkjournal.c
ib/ext2fs/mmp.c
ib/ext2fs/namei.c
ib/ext2fs/newdir.c
ib/ext2fs/nt_io.c
ib/ext2fs/openfs.c
ib/ext2fs/progress.c
ib/ext2fs/punch.c
ib/ext2fs/qcow2.c
ib/ext2fs/qcow2.h
ib/ext2fs/rbtree.c
ib/ext2fs/rbtree.h
ib/ext2fs/read_bb.c
ib/ext2fs/read_bb_file.c
ib/ext2fs/res_gdt.c
ib/ext2fs/rw_bitmaps.c
ib/ext2fs/sparse.c
ib/ext2fs/swapfs.c
ib/ext2fs/symlink.c
ib/ext2fs/tdb.c
ib/ext2fs/tdb.h
ib/ext2fs/test_io.c
ib/ext2fs/tst_badblocks.c
ib/ext2fs/tst_bitmaps.c
ib/ext2fs/tst_bitmaps_cmd.ct
ib/ext2fs/tst_bitmaps_cmds
ib/ext2fs/tst_bitmaps_exp
ib/ext2fs/tst_bitops.c
ib/ext2fs/tst_fs_struct.c
ib/ext2fs/tst_inode_size.c
ib/ext2fs/tst_iscan.c
ib/ext2fs/tst_super_size.c
ib/ext2fs/undo_io.c
ib/ext2fs/unix_io.c
ib/ext2fs/valid_blk.c
ib/quota/Android.mk
ib/quota/Makefile.in
ib/quota/common.h
ib/quota/dqblk_v2.h
ib/quota/mkquota.c
ib/quota/mkquota.h
ib/quota/quota.pc.in
ib/quota/quotaio.c
ib/quota/quotaio.h
ib/quota/quotaio_tree.c
ib/quota/quotaio_tree.h
ib/quota/quotaio_v2.c
ib/quota/quotaio_v2.h
ib/ss/MODULE_LICENSE_MIT
ib/ss/Makefile.in
ib/ss/error.c
ib/ss/execute_cmd.c
ib/ss/help.c
ib/ss/invocation.c
ib/ss/list_rqs.c
ib/ss/pager.c
ib/ss/parse.c
ib/ss/request_tbl.c
ib/ss/ss.h
ib/ss/ss.pc.in
ib/ss/ss_internal.h
ib/uuid/MODULE_LICENSE_BSD_LIKE
ib/uuid/Makefile.in
ib/uuid/gen_uuid.c
ib/uuid/tst_uuid.c
ib/uuid/uuid.pc.in
ib/uuid/uuid_time.c
isc/Android.mk
isc/MODULE_LICENSE_GPL
isc/Makefile.in
isc/badblocks.8.in
isc/badblocks.c
isc/chattr.1.in
isc/chattr.c
isc/default_profile.c
isc/dumpe2fs.8.in
isc/dumpe2fs.c
isc/e2freefrag.c
isc/e2image.8.in
isc/e2image.c
isc/e2initrd_helper.c
isc/e2undo.c
isc/e4defrag.8.in
isc/e4defrag.c
isc/ext4.5.in
isc/filefrag.8.in
isc/filefrag.c
isc/findsuper.c
isc/fsck.c
isc/ismounted.c
isc/logsave.c
isc/lsattr.c
isc/mke2fs-hurd.conf
isc/mke2fs.8.in
isc/mke2fs.c
isc/mke2fs.conf
isc/mke2fs.conf.5.in
isc/mke2fs.conf.in
isc/mklost+found.c
isc/nls-enable.h
isc/partinfo.c
isc/tune2fs.8.in
isc/tune2fs.c
isc/util.c
isc/util.h
isc/uuidd.c
o/Makefile.in.in
o/Makevars
o/POTFILES.in
o/at-expand.pl
o/ca.gmo
o/ca.po
o/cs.gmo
o/cs.po
o/de.gmo
o/de.po
o/e2fsprogs.pot
o/es.gmo
o/es.po
o/fr.gmo
o/fr.po
o/id.gmo
o/id.po
o/it.gmo
o/it.po
o/nl.gmo
o/nl.po
o/pl.gmo
o/pl.po
o/sv.gmo
o/sv.po
o/tr.gmo
o/tr.po
o/vi.gmo
o/vi.po
o/zh_CN.gmo
o/zh_CN.po
esize/Android.mk
esize/MODULE_LICENSE_GPL
esize/Makefile.in
esize/Makefile.pq
esize/extent.c
esize/main.c
esize/online.c
esize/resize2fs.8.in
esize/resize2fs.c
esize/resize2fs.h
esize/resource_track.c
esize/test-resize
esize/test_extent.c
ests/Makefile.in
ests/d_loaddump/expect
ests/d_loaddump/script
ests/d_special_files/expect
ests/d_special_files/name
ests/d_special_files/script
ests/defaults/e_script
ests/e_brel_bma/script
ests/e_icount_normal/name
ests/e_irel_ima/script
ests/f_bad_disconnected_inode/expect.1
ests/f_baddir/expect.1
ests/f_badroot/expect.1
ests/f_crashdisk/expect.1
ests/f_desc_size_128/expect.1
ests/f_desc_size_128/expect.2
ests/f_desc_size_128/image.gz
ests/f_desc_size_128/name
ests/f_desc_size_bad/expect.1
ests/f_desc_size_bad/expect.2
ests/f_desc_size_bad/script
ests/f_dup/expect.1
ests/f_dup2/expect.1
ests/f_dup4/script
ests/f_dup_ba/expect.1
ests/f_dup_ba/expect.2
ests/f_dup_ba/image.gz
ests/f_dup_ba/name
ests/f_dup_de/script
ests/f_dup_resize/script
ests/f_dupdot/expect.1
ests/f_end-bitmap/expect.1
ests/f_eofblocks/expect.1
ests/f_eofblocks/expect.2
ests/f_eofblocks/image.gz
ests/f_eofblocks/name
ests/f_expand/expect.1.gz
ests/f_ext_journal/name
ests/f_ext_zero_len/expect.1
ests/f_ext_zero_len/expect.2
ests/f_ext_zero_len/image.gz
ests/f_ext_zero_len/name
ests/f_extent_interior_start_lblk/expect.1
ests/f_extent_interior_start_lblk/expect.2
ests/f_extent_interior_start_lblk/image.gz
ests/f_extent_interior_start_lblk/name
ests/f_extent_oobounds/expect.1
ests/f_extent_oobounds/expect.2
ests/f_extent_oobounds/script
ests/f_h_badnode/script
ests/f_h_badroot/script
ests/f_h_normal/script
ests/f_h_reindex/script
ests/f_h_unsigned/script
ests/f_illbbitmap/expect.1
ests/f_illibitmap/expect.1
ests/f_illitable/expect.1
ests/f_illitable_flexbg/expect.1
ests/f_imagic_fs/script
ests/f_invalid_bad_inode/expect.1
ests/f_invalid_bad_inode/expect.2
ests/f_invalid_bad_inode/image.gz
ests/f_invalid_bad_inode/name
ests/f_invalid_extent_symlink/expect.1
ests/f_invalid_extent_symlink/expect.2
ests/f_invalid_extent_symlink/image.gz
ests/f_invalid_extent_symlink/name
ests/f_jnl_32bit/expect.0
ests/f_jnl_32bit/expect.1
ests/f_jnl_32bit/expect.2
ests/f_jnl_32bit/image.gz
ests/f_jnl_32bit/name
ests/f_jnl_32bit/script
ests/f_jnl_64bit/expect.0
ests/f_jnl_64bit/expect.1
ests/f_jnl_64bit/expect.2
ests/f_jnl_64bit/image.gz
ests/f_jnl_64bit/name
ests/f_jnl_64bit/script
ests/f_jnl_errno/expect.0
ests/f_jnl_errno/expect.1
ests/f_jnl_errno/expect.2
ests/f_jnl_errno/image.gz
ests/f_jnl_errno/name
ests/f_jnl_errno/script
ests/f_lpf/expect.1
ests/f_miss_blk_bmap/expect.1
ests/f_misstable/expect.1
ests/f_mmp/name
ests/f_mmp/script
ests/f_mmp_garbage/expect.1
ests/f_mmp_garbage/expect.2
ests/f_mmp_garbage/name
ests/f_mmp_garbage/script
ests/f_okgroup/expect.1
ests/f_orphan_dotdot_ft/expect.1
ests/f_orphan_extents_inode/expect.1
ests/f_orphan_extents_inode/expect.2
ests/f_orphan_extents_inode/image.gz
ests/f_orphan_extents_inode/name
ests/f_orphan_indirect_inode/expect.1
ests/f_orphan_indirect_inode/expect.2
ests/f_orphan_indirect_inode/image.gz
ests/f_orphan_indirect_inode/name
ests/f_orphan_indirect_inode/script
ests/f_overfsblks/expect.1
ests/f_preen/expect.1
ests/f_rehash_dir/name
ests/f_resize_inode/expect
ests/f_resize_inode/script
ests/f_summary_counts/expect.1
ests/f_toobig_extent_dir/expect.1
ests/f_toobig_extent_dir/expect.2
ests/f_toobig_extent_dir/image.gz
ests/f_toobig_extent_dir/name
ests/f_uninit_ext_past_eof/expect.1
ests/f_uninit_ext_past_eof/expect.2
ests/f_uninit_ext_past_eof/image.gz
ests/f_uninit_ext_past_eof/name
ests/f_uninit_ext_past_eof2/expect.1
ests/f_uninit_ext_past_eof2/expect.2
ests/f_uninit_ext_past_eof2/image.gz
ests/f_uninit_ext_past_eof2/name
ests/f_uninit_last_uninit/script
ests/f_unused_itable/expect.1
ests/f_unused_itable/name
ests/f_zero_group/expect.1
ests/f_zero_inode_size/expect.1
ests/f_zero_super/expect.1
ests/f_zero_xattr/expect.1
ests/f_zero_xattr/image.gz
ests/f_zero_xattr/name
ests/f_zero_xattr/script
ests/filter.sed
ests/filter_dumpe2fs
ests/i_e2image/i_e2image.md5
ests/i_e2image/image1024.orig.bz2
ests/i_e2image/image2048.orig.bz2
ests/i_e2image/image4096.orig.bz2
ests/i_e2image/script
ests/m_bigjournal/expect.1
ests/m_bigjournal/script
ests/m_dasd_bs/expect.1
ests/m_desc_size_128/expect.1
ests/m_desc_size_128/script
ests/m_extent_journal/expect.1
ests/m_extent_journal/script
ests/m_large_file/expect.1
ests/m_meta_bg/expect.1
ests/m_mkfs_overhead/expect
ests/m_mkfs_overhead/expect.1
ests/m_mkfs_overhead/script
ests/m_mmp/expect.1
ests/m_mmp/script
ests/m_no_opt/expect.1
ests/m_quota/expect.1
ests/m_quota/script
ests/m_raid_opt/expect.1
ests/m_raid_opt/script
ests/m_root_owner/expect.1
ests/m_root_owner/script
ests/m_std/expect.1
ests/m_uninit/expect.1
ests/mke2fs.conf.in
ests/progs/Makefile.in
ests/progs/crcsum.c
ests/progs/test_icount.c
ests/r_1024_small_bg/script
ests/r_64bit_big_expand/script
ests/r_bigalloc_big_expand/script
ests/r_ext4_big_expand/script
ests/r_ext4_small_bg/script
ests/r_inline_xattr/expect
ests/r_inline_xattr/script
ests/r_min_itable/expect
ests/r_min_itable/image.gz
ests/r_min_itable/name
ests/r_min_itable/script
ests/r_move_itable/expect
ests/r_move_itable/script
ests/r_resize_inode/expect
ests/r_resize_inode/script
ests/run_e2fsck
ests/run_mke2fs
ests/scripts/mkdup
ests/scripts/resize_test
ests/t_ext_jnl_rm/script
ests/t_mmp_1on/name
ests/t_mmp_1on/script
ests/t_mmp_2off/name
ests/t_mmp_2off/script
ests/t_quota_1on/name
ests/t_quota_1on/script
ests/t_quota_2off/name
ests/t_quota_2off/script
ests/test_config
ests/test_one.in
ests/test_post
ests/test_script.in
ests/u_mke2fs/script
ests/u_tune2fs/script
til/Makefile.in
til/Makefile.pq
til/all.exclude
til/install-symlink.in
til/subset.exclude
til/subst.c
til/subst.conf.in
til/symlinks.c
ersion.h
ordwrap.pl
893d0a0f84a0a9dc7cc37507f974f6a695af465f 07-Mar-2014 JP Abgrall <jpa@google.com> am 9d965309: (-s ours) Merge "e2fsck: remove unneeded type redefinitions"

* commit '9d9653095dd3ecb9f86e9347a14f7203f52f3f3e':
e2fsck: remove unneeded type redefinitions
a6ce1349539f866334ef3d5758bc2ee44a454acd 06-Mar-2014 JP Abgrall <jpa@google.com> Revert changes that moved from 1.41.14 to 1.42.9

Revert "e2fsck: Don't use e2fsck_global_ctx unless HAVE_SIGNAL_H"
commit e80e74c41d85ff93f3d212ba6512340f48054a93.

Revert "Merge remote-tracking branch 'linaro/linaro-1.42.9' into aosp_master"
This reverts commit e97b2b6fc82f840e84dfc631b87f21be44ff2421, reversing
changes made to 7e2fb9d09c245eba70ee008b78007315e9c0f1df.

Revert "Prepare for upstream 1.42.9"
This reverts commit 7e2fb9d09c245eba70ee008b78007315e9c0f1df.

Bug: 13340735
Change-Id: If48b153a95ef5f69f7cdccb00e23524abff3c5a8
Signed-off-by: JP Abgrall <jpa@google.com>
hgignore
CONFIG.in
ODULE_LICENSE_GPL
akefile.in
EADME
EADME.subset
ELEASE-NOTES
ODO
onfig/config.guess
onfig/config.sub
onfig/parse-types.sh
onfigure
onfigure.in
ontrib/fallocate.c
ontrib/populate-extfs.sh
ontrib/spd_readdir.c
ebian/changelog
ebian/comerr-dev.doc-base
ebian/comerr-dev.files
ebian/comerr-dev.files.in
ebian/control.in
ebian/copyright
ebian/e2fsck-static.preinst
ebian/e2fslibs-dev.doc-base
ebian/e2fslibs-dev.files
ebian/e2fslibs-dev.files.in
ebian/e2fslibs.copyright
ebian/e2fslibs.files
ebian/e2fslibs.files.in
ebian/e2fslibs.symbols
ebian/e2fsprogs.copyright
ebian/e2fsprogs.files
ebian/e2fsprogs.preinst
ebian/e2fsprogs.shlibs.local.in
ebian/libblkid-dev.files
ebian/libblkid-dev.files.in
ebian/libblkid1.files
ebian/libblkid1.files.in
ebian/libcomerr2.files
ebian/libcomerr2.files.in
ebian/libcomerr2.symbols
ebian/libss2.files
ebian/libss2.files.in
ebian/libuuid1.files
ebian/libuuid1.files.in
ebian/rules
ebian/scripts/test-backtrace
ebian/source/format
ebian/ss-dev.files
ebian/ss-dev.files.in
ebian/uuid-dev.files
ebian/uuid-dev.files.in
ebugfs/Makefile.in
ebugfs/debug_cmds.ct
ebugfs/debugfs.8.in
ebugfs/debugfs.c
ebugfs/debugfs.h
ebugfs/dump.c
ebugfs/extent_cmds.ct
ebugfs/extent_inode.c
ebugfs/filefrag.c
ebugfs/htree.c
ebugfs/icheck.c
ebugfs/logdump.c
ebugfs/ls.c
ebugfs/lsdel.c
ebugfs/ncheck.c
ebugfs/ro_debug_cmds.ct
ebugfs/set_fields.c
ebugfs/unused.c
ebugfs/util.c
ebugfs/zap.c
epfix.sed
oc/Makefile.in
oc/libext2fs.texinfo
2fsck/Android.mk
2fsck/MODULE_LICENSE_GPL
2fsck/Makefile.in
2fsck/Makefile.pq
2fsck/badblocks.c
2fsck/dirinfo.c
2fsck/e2fsck.8.in
2fsck/e2fsck.c
2fsck/e2fsck.conf.5.in
2fsck/e2fsck.h
2fsck/ea_refcount.c
2fsck/ehandler.c
2fsck/emptydir.c
2fsck/iscan.c
2fsck/jfs_user.h
2fsck/journal.c
2fsck/logfile.c
2fsck/message.c
2fsck/pass1.c
2fsck/pass1b.c
2fsck/pass2.c
2fsck/pass3.c
2fsck/pass4.c
2fsck/pass5.c
2fsck/problem.c
2fsck/problem.h
2fsck/problemP.h
2fsck/prof_err.c
2fsck/prof_err.et
2fsck/profile.c
2fsck/profile.h
2fsck/quota.c
2fsck/recovery.c
2fsck/region.c
2fsck/rehash.c
2fsck/scantest.c
2fsck/sigcatcher.c
2fsck/super.c
2fsck/unix.c
2fsck/util.c
2fsprogs.lsm
2fsprogs.spec
2fsprogs.spec.in
xt2ed/Makefile.in
xt2ed/ext2ed.h
xt2ed/init.c
xt2ed/inode_com.c
xt2ed/super_com.c
ntl/Makefile.in
ib/Makefile.bsd-lib
ib/Makefile.elf-lib
ib/Makefile.solaris-lib
ib/blkid/Android.mk
ib/blkid/MODULE_LICENSE_LGPL
ib/blkid/Makefile.in
ib/blkid/blkid.pc.in
ib/blkid/blkid_types.h
ib/blkid/blkid_types.h.in
ib/blkid/cache.c
ib/blkid/getsize.c
ib/blkid/list.h
ib/blkid/probe.c
ib/blkid/probe.h
ib/config.h.in
ib/dirpaths.h.in
ib/e2p/MODULE_LICENSE_LGPL
ib/e2p/Makefile.in
ib/e2p/e2p.h
ib/e2p/e2p.pc.in
ib/e2p/feature.c
ib/e2p/fgetflags.c
ib/e2p/fsetflags.c
ib/e2p/getflags.c
ib/e2p/getversion.c
ib/e2p/ls.c
ib/e2p/mntopts.c
ib/e2p/parse_num.c
ib/e2p/pf.c
ib/e2p/setflags.c
ib/et/MODULE_LICENSE_MIT
ib/et/Makefile.in
ib/et/com_err.c
ib/et/com_err.h
ib/et/com_err.pc.in
ib/et/com_err.texinfo
ib/et/error_message.c
ib/et/error_table.h
ib/et/et_c.awk
ib/et/et_name.c
ib/et/test_cases/continuation.c
ib/et/test_cases/heimdal.c
ib/et/test_cases/heimdal2.c
ib/et/test_cases/heimdal3.c
ib/et/test_cases/imap_err.c
ib/et/test_cases/simple.c
ib/et/texinfo.tex
ib/ext2fs/Android.mk
ib/ext2fs/MODULE_LICENSE_LGPL
ib/ext2fs/Makefile.in
ib/ext2fs/Makefile.pq
ib/ext2fs/alloc.c
ib/ext2fs/alloc_sb.c
ib/ext2fs/alloc_stats.c
ib/ext2fs/alloc_tables.c
ib/ext2fs/badblocks.c
ib/ext2fs/bb_inode.c
ib/ext2fs/bitmaps.c
ib/ext2fs/bitops.c
ib/ext2fs/bitops.h
ib/ext2fs/blkmap64_ba.c
ib/ext2fs/blkmap64_rb.c
ib/ext2fs/blknum.c
ib/ext2fs/block.c
ib/ext2fs/bmap.c
ib/ext2fs/bmap64.h
ib/ext2fs/bmove.c
ib/ext2fs/brel.h
ib/ext2fs/brel_ma.c
ib/ext2fs/check_desc.c
ib/ext2fs/closefs.c
ib/ext2fs/crc32c.c
ib/ext2fs/crc32c_defs.h
ib/ext2fs/csum.c
ib/ext2fs/dblist.c
ib/ext2fs/dblist_dir.c
ib/ext2fs/dir_iterate.c
ib/ext2fs/dirblock.c
ib/ext2fs/dirhash.c
ib/ext2fs/dupfs.c
ib/ext2fs/e2image.h
ib/ext2fs/expanddir.c
ib/ext2fs/ext2_err.c
ib/ext2fs/ext2_err.et.in
ib/ext2fs/ext2_err.h
ib/ext2fs/ext2_fs.h
ib/ext2fs/ext2_io.h
ib/ext2fs/ext2_types.h
ib/ext2fs/ext2_types.h.in
ib/ext2fs/ext2fs.h
ib/ext2fs/ext2fs.pc.in
ib/ext2fs/ext2fsP.h
ib/ext2fs/ext_attr.c
ib/ext2fs/extent.c
ib/ext2fs/extent_dbg.ct
ib/ext2fs/fiemap.h
ib/ext2fs/fileio.c
ib/ext2fs/finddev.c
ib/ext2fs/flushb.c
ib/ext2fs/freefs.c
ib/ext2fs/gen_bitmap.c
ib/ext2fs/gen_bitmap64.c
ib/ext2fs/gen_crc32ctable.c
ib/ext2fs/get_pathname.c
ib/ext2fs/getsectsize.c
ib/ext2fs/getsize.c
ib/ext2fs/i_block.c
ib/ext2fs/icount.c
ib/ext2fs/imager.c
ib/ext2fs/initialize.c
ib/ext2fs/inline.c
ib/ext2fs/inode.c
ib/ext2fs/inode_io.c
ib/ext2fs/io_manager.c
ib/ext2fs/irel.h
ib/ext2fs/ismounted.c
ib/ext2fs/kernel-jbd.h
ib/ext2fs/kernel-list.h
ib/ext2fs/link.c
ib/ext2fs/llseek.c
ib/ext2fs/mkdir.c
ib/ext2fs/mkjournal.c
ib/ext2fs/mmp.c
ib/ext2fs/namei.c
ib/ext2fs/newdir.c
ib/ext2fs/nt_io.c
ib/ext2fs/openfs.c
ib/ext2fs/progress.c
ib/ext2fs/punch.c
ib/ext2fs/qcow2.c
ib/ext2fs/qcow2.h
ib/ext2fs/rbtree.c
ib/ext2fs/rbtree.h
ib/ext2fs/read_bb.c
ib/ext2fs/read_bb_file.c
ib/ext2fs/res_gdt.c
ib/ext2fs/rw_bitmaps.c
ib/ext2fs/sparse.c
ib/ext2fs/swapfs.c
ib/ext2fs/symlink.c
ib/ext2fs/tdb.c
ib/ext2fs/tdb.h
ib/ext2fs/test_io.c
ib/ext2fs/tst_badblocks.c
ib/ext2fs/tst_bitmaps.c
ib/ext2fs/tst_bitmaps_cmd.ct
ib/ext2fs/tst_bitmaps_cmds
ib/ext2fs/tst_bitmaps_exp
ib/ext2fs/tst_bitops.c
ib/ext2fs/tst_fs_struct.c
ib/ext2fs/tst_inode_size.c
ib/ext2fs/tst_iscan.c
ib/ext2fs/tst_super_size.c
ib/ext2fs/undo_io.c
ib/ext2fs/unix_io.c
ib/ext2fs/valid_blk.c
ib/quota/Android.mk
ib/quota/Makefile.in
ib/quota/common.h
ib/quota/dqblk_v2.h
ib/quota/mkquota.c
ib/quota/mkquota.h
ib/quota/quota.pc.in
ib/quota/quotaio.c
ib/quota/quotaio.h
ib/quota/quotaio_tree.c
ib/quota/quotaio_tree.h
ib/quota/quotaio_v2.c
ib/quota/quotaio_v2.h
ib/ss/MODULE_LICENSE_MIT
ib/ss/Makefile.in
ib/ss/error.c
ib/ss/execute_cmd.c
ib/ss/help.c
ib/ss/invocation.c
ib/ss/list_rqs.c
ib/ss/pager.c
ib/ss/parse.c
ib/ss/request_tbl.c
ib/ss/ss.h
ib/ss/ss.pc.in
ib/ss/ss_internal.h
ib/uuid/MODULE_LICENSE_BSD_LIKE
ib/uuid/Makefile.in
ib/uuid/gen_uuid.c
ib/uuid/tst_uuid.c
ib/uuid/uuid.pc.in
ib/uuid/uuid_time.c
isc/Android.mk
isc/MODULE_LICENSE_GPL
isc/Makefile.in
isc/badblocks.8.in
isc/badblocks.c
isc/chattr.1.in
isc/chattr.c
isc/default_profile.c
isc/dumpe2fs.8.in
isc/dumpe2fs.c
isc/e2freefrag.c
isc/e2image.8.in
isc/e2image.c
isc/e2initrd_helper.c
isc/e2undo.c
isc/e4defrag.8.in
isc/e4defrag.c
isc/ext4.5.in
isc/filefrag.8.in
isc/filefrag.c
isc/findsuper.c
isc/fsck.c
isc/ismounted.c
isc/logsave.c
isc/lsattr.c
isc/mke2fs-hurd.conf
isc/mke2fs.8.in
isc/mke2fs.c
isc/mke2fs.conf
isc/mke2fs.conf.5.in
isc/mke2fs.conf.in
isc/mklost+found.c
isc/nls-enable.h
isc/partinfo.c
isc/tune2fs.8.in
isc/tune2fs.c
isc/util.c
isc/util.h
isc/uuidd.c
o/Makefile.in.in
o/Makevars
o/POTFILES.in
o/at-expand.pl
o/ca.gmo
o/ca.po
o/cs.gmo
o/cs.po
o/de.gmo
o/de.po
o/e2fsprogs.pot
o/es.gmo
o/es.po
o/fr.gmo
o/fr.po
o/id.gmo
o/id.po
o/it.gmo
o/it.po
o/nl.gmo
o/nl.po
o/pl.gmo
o/pl.po
o/sv.gmo
o/sv.po
o/tr.gmo
o/tr.po
o/vi.gmo
o/vi.po
o/zh_CN.gmo
o/zh_CN.po
esize/Android.mk
esize/MODULE_LICENSE_GPL
esize/Makefile.in
esize/Makefile.pq
esize/extent.c
esize/main.c
esize/online.c
esize/resize2fs.8.in
esize/resize2fs.c
esize/resize2fs.h
esize/resource_track.c
esize/test-resize
esize/test_extent.c
ests/Makefile.in
ests/d_loaddump/expect
ests/d_loaddump/script
ests/d_special_files/expect
ests/d_special_files/name
ests/d_special_files/script
ests/defaults/e_script
ests/e_brel_bma/script
ests/e_icount_normal/name
ests/e_irel_ima/script
ests/f_bad_disconnected_inode/expect.1
ests/f_baddir/expect.1
ests/f_badroot/expect.1
ests/f_crashdisk/expect.1
ests/f_desc_size_128/expect.1
ests/f_desc_size_128/expect.2
ests/f_desc_size_128/image.gz
ests/f_desc_size_128/name
ests/f_desc_size_bad/expect.1
ests/f_desc_size_bad/expect.2
ests/f_desc_size_bad/script
ests/f_dup/expect.1
ests/f_dup2/expect.1
ests/f_dup4/script
ests/f_dup_ba/expect.1
ests/f_dup_ba/expect.2
ests/f_dup_ba/image.gz
ests/f_dup_ba/name
ests/f_dup_de/script
ests/f_dup_resize/script
ests/f_dupdot/expect.1
ests/f_end-bitmap/expect.1
ests/f_eofblocks/expect.1
ests/f_eofblocks/expect.2
ests/f_eofblocks/image.gz
ests/f_eofblocks/name
ests/f_expand/expect.1.gz
ests/f_ext_journal/name
ests/f_ext_zero_len/expect.1
ests/f_ext_zero_len/expect.2
ests/f_ext_zero_len/image.gz
ests/f_ext_zero_len/name
ests/f_extent_interior_start_lblk/expect.1
ests/f_extent_interior_start_lblk/expect.2
ests/f_extent_interior_start_lblk/image.gz
ests/f_extent_interior_start_lblk/name
ests/f_extent_oobounds/expect.1
ests/f_extent_oobounds/expect.2
ests/f_extent_oobounds/script
ests/f_h_badnode/script
ests/f_h_badroot/script
ests/f_h_normal/script
ests/f_h_reindex/script
ests/f_h_unsigned/script
ests/f_illbbitmap/expect.1
ests/f_illibitmap/expect.1
ests/f_illitable/expect.1
ests/f_illitable_flexbg/expect.1
ests/f_imagic_fs/script
ests/f_invalid_bad_inode/expect.1
ests/f_invalid_bad_inode/expect.2
ests/f_invalid_bad_inode/image.gz
ests/f_invalid_bad_inode/name
ests/f_invalid_extent_symlink/expect.1
ests/f_invalid_extent_symlink/expect.2
ests/f_invalid_extent_symlink/image.gz
ests/f_invalid_extent_symlink/name
ests/f_jnl_32bit/expect.0
ests/f_jnl_32bit/expect.1
ests/f_jnl_32bit/expect.2
ests/f_jnl_32bit/image.gz
ests/f_jnl_32bit/name
ests/f_jnl_32bit/script
ests/f_jnl_64bit/expect.0
ests/f_jnl_64bit/expect.1
ests/f_jnl_64bit/expect.2
ests/f_jnl_64bit/image.gz
ests/f_jnl_64bit/name
ests/f_jnl_64bit/script
ests/f_jnl_errno/expect.0
ests/f_jnl_errno/expect.1
ests/f_jnl_errno/expect.2
ests/f_jnl_errno/image.gz
ests/f_jnl_errno/name
ests/f_jnl_errno/script
ests/f_lpf/expect.1
ests/f_miss_blk_bmap/expect.1
ests/f_misstable/expect.1
ests/f_mmp/name
ests/f_mmp/script
ests/f_mmp_garbage/expect.1
ests/f_mmp_garbage/expect.2
ests/f_mmp_garbage/name
ests/f_mmp_garbage/script
ests/f_okgroup/expect.1
ests/f_orphan_dotdot_ft/expect.1
ests/f_orphan_extents_inode/expect.1
ests/f_orphan_extents_inode/expect.2
ests/f_orphan_extents_inode/image.gz
ests/f_orphan_extents_inode/name
ests/f_orphan_indirect_inode/expect.1
ests/f_orphan_indirect_inode/expect.2
ests/f_orphan_indirect_inode/image.gz
ests/f_orphan_indirect_inode/name
ests/f_orphan_indirect_inode/script
ests/f_overfsblks/expect.1
ests/f_preen/expect.1
ests/f_rehash_dir/name
ests/f_resize_inode/expect
ests/f_resize_inode/script
ests/f_summary_counts/expect.1
ests/f_toobig_extent_dir/expect.1
ests/f_toobig_extent_dir/expect.2
ests/f_toobig_extent_dir/image.gz
ests/f_toobig_extent_dir/name
ests/f_uninit_ext_past_eof/expect.1
ests/f_uninit_ext_past_eof/expect.2
ests/f_uninit_ext_past_eof/image.gz
ests/f_uninit_ext_past_eof/name
ests/f_uninit_ext_past_eof2/expect.1
ests/f_uninit_ext_past_eof2/expect.2
ests/f_uninit_ext_past_eof2/image.gz
ests/f_uninit_ext_past_eof2/name
ests/f_uninit_last_uninit/script
ests/f_unused_itable/expect.1
ests/f_unused_itable/name
ests/f_zero_group/expect.1
ests/f_zero_inode_size/expect.1
ests/f_zero_super/expect.1
ests/f_zero_xattr/expect.1
ests/f_zero_xattr/image.gz
ests/f_zero_xattr/name
ests/f_zero_xattr/script
ests/filter.sed
ests/filter_dumpe2fs
ests/i_e2image/i_e2image.md5
ests/i_e2image/image1024.orig.bz2
ests/i_e2image/image2048.orig.bz2
ests/i_e2image/image4096.orig.bz2
ests/i_e2image/script
ests/m_bigjournal/expect.1
ests/m_bigjournal/script
ests/m_dasd_bs/expect.1
ests/m_desc_size_128/expect.1
ests/m_desc_size_128/script
ests/m_extent_journal/expect.1
ests/m_extent_journal/script
ests/m_large_file/expect.1
ests/m_meta_bg/expect.1
ests/m_mkfs_overhead/expect
ests/m_mkfs_overhead/expect.1
ests/m_mkfs_overhead/script
ests/m_mmp/expect.1
ests/m_mmp/script
ests/m_no_opt/expect.1
ests/m_quota/expect.1
ests/m_quota/script
ests/m_raid_opt/expect.1
ests/m_raid_opt/script
ests/m_root_owner/expect.1
ests/m_root_owner/script
ests/m_std/expect.1
ests/m_uninit/expect.1
ests/mke2fs.conf.in
ests/progs/Makefile.in
ests/progs/crcsum.c
ests/progs/test_icount.c
ests/r_1024_small_bg/script
ests/r_64bit_big_expand/script
ests/r_bigalloc_big_expand/script
ests/r_ext4_big_expand/script
ests/r_ext4_small_bg/script
ests/r_inline_xattr/expect
ests/r_inline_xattr/script
ests/r_min_itable/expect
ests/r_min_itable/image.gz
ests/r_min_itable/name
ests/r_min_itable/script
ests/r_move_itable/expect
ests/r_move_itable/script
ests/r_resize_inode/expect
ests/r_resize_inode/script
ests/run_e2fsck
ests/run_mke2fs
ests/scripts/mkdup
ests/scripts/resize_test
ests/t_ext_jnl_rm/script
ests/t_mmp_1on/name
ests/t_mmp_1on/script
ests/t_mmp_2off/name
ests/t_mmp_2off/script
ests/t_quota_1on/name
ests/t_quota_1on/script
ests/t_quota_2off/name
ests/t_quota_2off/script
ests/test_config
ests/test_one.in
ests/test_post
ests/test_script.in
ests/u_mke2fs/script
ests/u_tune2fs/script
til/Makefile.in
til/Makefile.pq
til/all.exclude
til/install-symlink.in
til/subset.exclude
til/subst.c
til/subst.conf.in
til/symlinks.c
ersion.h
ordwrap.pl
65f0aab98b20b5994a726ab90d355248bcddfffd 06-Mar-2014 JP Abgrall <jpa@google.com> Revert changes that moved from 1.41.14 to 1.42.9

Revert "e2fsck: Don't use e2fsck_global_ctx unless HAVE_SIGNAL_H"
commit e80e74c41d85ff93f3d212ba6512340f48054a93.

Revert "Merge remote-tracking branch 'linaro/linaro-1.42.9' into aosp_master"
This reverts commit e97b2b6fc82f840e84dfc631b87f21be44ff2421, reversing
changes made to 7e2fb9d09c245eba70ee008b78007315e9c0f1df.

Revert "Prepare for upstream 1.42.9"
This reverts commit 7e2fb9d09c245eba70ee008b78007315e9c0f1df.

Bug: 13340735
Change-Id: If48b153a95ef5f69f7cdccb00e23524abff3c5a8
Signed-off-by: JP Abgrall <jpa@google.com>
hgignore
CONFIG.in
ODULE_LICENSE_GPL
akefile.in
EADME
EADME.subset
ELEASE-NOTES
ODO
onfig/config.guess
onfig/config.sub
onfig/parse-types.sh
onfigure
onfigure.in
ontrib/fallocate.c
ontrib/populate-extfs.sh
ontrib/spd_readdir.c
ebian/changelog
ebian/comerr-dev.doc-base
ebian/comerr-dev.files
ebian/comerr-dev.files.in
ebian/control.in
ebian/copyright
ebian/e2fsck-static.preinst
ebian/e2fslibs-dev.doc-base
ebian/e2fslibs-dev.files
ebian/e2fslibs-dev.files.in
ebian/e2fslibs.copyright
ebian/e2fslibs.files
ebian/e2fslibs.files.in
ebian/e2fslibs.symbols
ebian/e2fsprogs.copyright
ebian/e2fsprogs.files
ebian/e2fsprogs.preinst
ebian/e2fsprogs.shlibs.local.in
ebian/libblkid-dev.files
ebian/libblkid-dev.files.in
ebian/libblkid1.files
ebian/libblkid1.files.in
ebian/libcomerr2.files
ebian/libcomerr2.files.in
ebian/libcomerr2.symbols
ebian/libss2.files
ebian/libss2.files.in
ebian/libuuid1.files
ebian/libuuid1.files.in
ebian/rules
ebian/scripts/test-backtrace
ebian/source/format
ebian/ss-dev.files
ebian/ss-dev.files.in
ebian/uuid-dev.files
ebian/uuid-dev.files.in
ebugfs/Makefile.in
ebugfs/debug_cmds.ct
ebugfs/debugfs.8.in
ebugfs/debugfs.c
ebugfs/debugfs.h
ebugfs/dump.c
ebugfs/extent_cmds.ct
ebugfs/extent_inode.c
ebugfs/filefrag.c
ebugfs/htree.c
ebugfs/icheck.c
ebugfs/logdump.c
ebugfs/ls.c
ebugfs/lsdel.c
ebugfs/ncheck.c
ebugfs/ro_debug_cmds.ct
ebugfs/set_fields.c
ebugfs/unused.c
ebugfs/util.c
ebugfs/zap.c
epfix.sed
oc/Makefile.in
oc/libext2fs.texinfo
2fsck/Android.mk
2fsck/MODULE_LICENSE_GPL
2fsck/Makefile.in
2fsck/Makefile.pq
2fsck/badblocks.c
2fsck/dirinfo.c
2fsck/e2fsck.8.in
2fsck/e2fsck.c
2fsck/e2fsck.conf.5.in
2fsck/e2fsck.h
2fsck/ea_refcount.c
2fsck/ehandler.c
2fsck/emptydir.c
2fsck/iscan.c
2fsck/jfs_user.h
2fsck/journal.c
2fsck/logfile.c
2fsck/message.c
2fsck/pass1.c
2fsck/pass1b.c
2fsck/pass2.c
2fsck/pass3.c
2fsck/pass4.c
2fsck/pass5.c
2fsck/problem.c
2fsck/problem.h
2fsck/problemP.h
2fsck/prof_err.c
2fsck/prof_err.et
2fsck/profile.c
2fsck/profile.h
2fsck/quota.c
2fsck/recovery.c
2fsck/region.c
2fsck/rehash.c
2fsck/scantest.c
2fsck/sigcatcher.c
2fsck/super.c
2fsck/unix.c
2fsck/util.c
2fsprogs.lsm
2fsprogs.spec
2fsprogs.spec.in
xt2ed/Makefile.in
xt2ed/ext2ed.h
xt2ed/init.c
xt2ed/inode_com.c
xt2ed/super_com.c
ntl/Makefile.in
ib/Makefile.bsd-lib
ib/Makefile.elf-lib
ib/Makefile.solaris-lib
ib/blkid/Android.mk
ib/blkid/MODULE_LICENSE_LGPL
ib/blkid/Makefile.in
ib/blkid/blkid.pc.in
ib/blkid/blkid_types.h
ib/blkid/blkid_types.h.in
ib/blkid/cache.c
ib/blkid/getsize.c
ib/blkid/list.h
ib/blkid/probe.c
ib/blkid/probe.h
ib/config.h.in
ib/dirpaths.h.in
ib/e2p/MODULE_LICENSE_LGPL
ib/e2p/Makefile.in
ib/e2p/e2p.h
ib/e2p/e2p.pc.in
ib/e2p/feature.c
ib/e2p/fgetflags.c
ib/e2p/fsetflags.c
ib/e2p/getflags.c
ib/e2p/getversion.c
ib/e2p/ls.c
ib/e2p/mntopts.c
ib/e2p/parse_num.c
ib/e2p/pf.c
ib/e2p/setflags.c
ib/et/MODULE_LICENSE_MIT
ib/et/Makefile.in
ib/et/com_err.c
ib/et/com_err.h
ib/et/com_err.pc.in
ib/et/com_err.texinfo
ib/et/error_message.c
ib/et/error_table.h
ib/et/et_c.awk
ib/et/et_name.c
ib/et/test_cases/continuation.c
ib/et/test_cases/heimdal.c
ib/et/test_cases/heimdal2.c
ib/et/test_cases/heimdal3.c
ib/et/test_cases/imap_err.c
ib/et/test_cases/simple.c
ib/et/texinfo.tex
ib/ext2fs/Android.mk
ib/ext2fs/MODULE_LICENSE_LGPL
ib/ext2fs/Makefile.in
ib/ext2fs/Makefile.pq
ib/ext2fs/alloc.c
ib/ext2fs/alloc_sb.c
ib/ext2fs/alloc_stats.c
ib/ext2fs/alloc_tables.c
ib/ext2fs/badblocks.c
ib/ext2fs/bb_inode.c
ib/ext2fs/bitmaps.c
ib/ext2fs/bitops.c
ib/ext2fs/bitops.h
ib/ext2fs/blkmap64_ba.c
ib/ext2fs/blkmap64_rb.c
ib/ext2fs/blknum.c
ib/ext2fs/block.c
ib/ext2fs/bmap.c
ib/ext2fs/bmap64.h
ib/ext2fs/bmove.c
ib/ext2fs/brel.h
ib/ext2fs/brel_ma.c
ib/ext2fs/check_desc.c
ib/ext2fs/closefs.c
ib/ext2fs/crc32c.c
ib/ext2fs/crc32c_defs.h
ib/ext2fs/csum.c
ib/ext2fs/dblist.c
ib/ext2fs/dblist_dir.c
ib/ext2fs/dir_iterate.c
ib/ext2fs/dirblock.c
ib/ext2fs/dirhash.c
ib/ext2fs/dupfs.c
ib/ext2fs/e2image.h
ib/ext2fs/expanddir.c
ib/ext2fs/ext2_err.c
ib/ext2fs/ext2_err.et.in
ib/ext2fs/ext2_err.h
ib/ext2fs/ext2_fs.h
ib/ext2fs/ext2_io.h
ib/ext2fs/ext2_types.h
ib/ext2fs/ext2_types.h.in
ib/ext2fs/ext2fs.h
ib/ext2fs/ext2fs.pc.in
ib/ext2fs/ext2fsP.h
ib/ext2fs/ext_attr.c
ib/ext2fs/extent.c
ib/ext2fs/extent_dbg.ct
ib/ext2fs/fiemap.h
ib/ext2fs/fileio.c
ib/ext2fs/finddev.c
ib/ext2fs/flushb.c
ib/ext2fs/freefs.c
ib/ext2fs/gen_bitmap.c
ib/ext2fs/gen_bitmap64.c
ib/ext2fs/gen_crc32ctable.c
ib/ext2fs/get_pathname.c
ib/ext2fs/getsectsize.c
ib/ext2fs/getsize.c
ib/ext2fs/i_block.c
ib/ext2fs/icount.c
ib/ext2fs/imager.c
ib/ext2fs/initialize.c
ib/ext2fs/inline.c
ib/ext2fs/inode.c
ib/ext2fs/inode_io.c
ib/ext2fs/io_manager.c
ib/ext2fs/irel.h
ib/ext2fs/ismounted.c
ib/ext2fs/kernel-jbd.h
ib/ext2fs/kernel-list.h
ib/ext2fs/link.c
ib/ext2fs/llseek.c
ib/ext2fs/mkdir.c
ib/ext2fs/mkjournal.c
ib/ext2fs/mmp.c
ib/ext2fs/namei.c
ib/ext2fs/newdir.c
ib/ext2fs/nt_io.c
ib/ext2fs/openfs.c
ib/ext2fs/progress.c
ib/ext2fs/punch.c
ib/ext2fs/qcow2.c
ib/ext2fs/qcow2.h
ib/ext2fs/rbtree.c
ib/ext2fs/rbtree.h
ib/ext2fs/read_bb.c
ib/ext2fs/read_bb_file.c
ib/ext2fs/res_gdt.c
ib/ext2fs/rw_bitmaps.c
ib/ext2fs/sparse.c
ib/ext2fs/swapfs.c
ib/ext2fs/symlink.c
ib/ext2fs/tdb.c
ib/ext2fs/tdb.h
ib/ext2fs/test_io.c
ib/ext2fs/tst_badblocks.c
ib/ext2fs/tst_bitmaps.c
ib/ext2fs/tst_bitmaps_cmd.ct
ib/ext2fs/tst_bitmaps_cmds
ib/ext2fs/tst_bitmaps_exp
ib/ext2fs/tst_bitops.c
ib/ext2fs/tst_fs_struct.c
ib/ext2fs/tst_inode_size.c
ib/ext2fs/tst_iscan.c
ib/ext2fs/tst_super_size.c
ib/ext2fs/undo_io.c
ib/ext2fs/unix_io.c
ib/ext2fs/valid_blk.c
ib/quota/Android.mk
ib/quota/Makefile.in
ib/quota/common.h
ib/quota/dqblk_v2.h
ib/quota/mkquota.c
ib/quota/mkquota.h
ib/quota/quota.pc.in
ib/quota/quotaio.c
ib/quota/quotaio.h
ib/quota/quotaio_tree.c
ib/quota/quotaio_tree.h
ib/quota/quotaio_v2.c
ib/quota/quotaio_v2.h
ib/ss/MODULE_LICENSE_MIT
ib/ss/Makefile.in
ib/ss/error.c
ib/ss/execute_cmd.c
ib/ss/help.c
ib/ss/invocation.c
ib/ss/list_rqs.c
ib/ss/pager.c
ib/ss/parse.c
ib/ss/request_tbl.c
ib/ss/ss.h
ib/ss/ss.pc.in
ib/ss/ss_internal.h
ib/uuid/MODULE_LICENSE_BSD_LIKE
ib/uuid/Makefile.in
ib/uuid/gen_uuid.c
ib/uuid/tst_uuid.c
ib/uuid/uuid.pc.in
ib/uuid/uuid_time.c
isc/Android.mk
isc/MODULE_LICENSE_GPL
isc/Makefile.in
isc/badblocks.8.in
isc/badblocks.c
isc/chattr.1.in
isc/chattr.c
isc/default_profile.c
isc/dumpe2fs.8.in
isc/dumpe2fs.c
isc/e2freefrag.c
isc/e2image.8.in
isc/e2image.c
isc/e2initrd_helper.c
isc/e2undo.c
isc/e4defrag.8.in
isc/e4defrag.c
isc/ext4.5.in
isc/filefrag.8.in
isc/filefrag.c
isc/findsuper.c
isc/fsck.c
isc/ismounted.c
isc/logsave.c
isc/lsattr.c
isc/mke2fs-hurd.conf
isc/mke2fs.8.in
isc/mke2fs.c
isc/mke2fs.conf
isc/mke2fs.conf.5.in
isc/mke2fs.conf.in
isc/mklost+found.c
isc/nls-enable.h
isc/partinfo.c
isc/tune2fs.8.in
isc/tune2fs.c
isc/util.c
isc/util.h
isc/uuidd.c
o/Makefile.in.in
o/Makevars
o/POTFILES.in
o/at-expand.pl
o/ca.gmo
o/ca.po
o/cs.gmo
o/cs.po
o/de.gmo
o/de.po
o/e2fsprogs.pot
o/es.gmo
o/es.po
o/fr.gmo
o/fr.po
o/id.gmo
o/id.po
o/it.gmo
o/it.po
o/nl.gmo
o/nl.po
o/pl.gmo
o/pl.po
o/sv.gmo
o/sv.po
o/tr.gmo
o/tr.po
o/vi.gmo
o/vi.po
o/zh_CN.gmo
o/zh_CN.po
esize/Android.mk
esize/MODULE_LICENSE_GPL
esize/Makefile.in
esize/Makefile.pq
esize/extent.c
esize/main.c
esize/online.c
esize/resize2fs.8.in
esize/resize2fs.c
esize/resize2fs.h
esize/resource_track.c
esize/test-resize
esize/test_extent.c
ests/Makefile.in
ests/d_loaddump/expect
ests/d_loaddump/script
ests/d_special_files/expect
ests/d_special_files/name
ests/d_special_files/script
ests/defaults/e_script
ests/e_brel_bma/script
ests/e_icount_normal/name
ests/e_irel_ima/script
ests/f_bad_disconnected_inode/expect.1
ests/f_baddir/expect.1
ests/f_badroot/expect.1
ests/f_crashdisk/expect.1
ests/f_desc_size_128/expect.1
ests/f_desc_size_128/expect.2
ests/f_desc_size_128/image.gz
ests/f_desc_size_128/name
ests/f_desc_size_bad/expect.1
ests/f_desc_size_bad/expect.2
ests/f_desc_size_bad/script
ests/f_dup/expect.1
ests/f_dup2/expect.1
ests/f_dup4/script
ests/f_dup_ba/expect.1
ests/f_dup_ba/expect.2
ests/f_dup_ba/image.gz
ests/f_dup_ba/name
ests/f_dup_de/script
ests/f_dup_resize/script
ests/f_dupdot/expect.1
ests/f_end-bitmap/expect.1
ests/f_eofblocks/expect.1
ests/f_eofblocks/expect.2
ests/f_eofblocks/image.gz
ests/f_eofblocks/name
ests/f_expand/expect.1.gz
ests/f_ext_journal/name
ests/f_ext_zero_len/expect.1
ests/f_ext_zero_len/expect.2
ests/f_ext_zero_len/image.gz
ests/f_ext_zero_len/name
ests/f_extent_interior_start_lblk/expect.1
ests/f_extent_interior_start_lblk/expect.2
ests/f_extent_interior_start_lblk/image.gz
ests/f_extent_interior_start_lblk/name
ests/f_extent_oobounds/expect.1
ests/f_extent_oobounds/expect.2
ests/f_extent_oobounds/script
ests/f_h_badnode/script
ests/f_h_badroot/script
ests/f_h_normal/script
ests/f_h_reindex/script
ests/f_h_unsigned/script
ests/f_illbbitmap/expect.1
ests/f_illibitmap/expect.1
ests/f_illitable/expect.1
ests/f_illitable_flexbg/expect.1
ests/f_imagic_fs/script
ests/f_invalid_bad_inode/expect.1
ests/f_invalid_bad_inode/expect.2
ests/f_invalid_bad_inode/image.gz
ests/f_invalid_bad_inode/name
ests/f_invalid_extent_symlink/expect.1
ests/f_invalid_extent_symlink/expect.2
ests/f_invalid_extent_symlink/image.gz
ests/f_invalid_extent_symlink/name
ests/f_jnl_32bit/expect.0
ests/f_jnl_32bit/expect.1
ests/f_jnl_32bit/expect.2
ests/f_jnl_32bit/image.gz
ests/f_jnl_32bit/name
ests/f_jnl_32bit/script
ests/f_jnl_64bit/expect.0
ests/f_jnl_64bit/expect.1
ests/f_jnl_64bit/expect.2
ests/f_jnl_64bit/image.gz
ests/f_jnl_64bit/name
ests/f_jnl_64bit/script
ests/f_jnl_errno/expect.0
ests/f_jnl_errno/expect.1
ests/f_jnl_errno/expect.2
ests/f_jnl_errno/image.gz
ests/f_jnl_errno/name
ests/f_jnl_errno/script
ests/f_lpf/expect.1
ests/f_miss_blk_bmap/expect.1
ests/f_misstable/expect.1
ests/f_mmp/name
ests/f_mmp/script
ests/f_mmp_garbage/expect.1
ests/f_mmp_garbage/expect.2
ests/f_mmp_garbage/name
ests/f_mmp_garbage/script
ests/f_okgroup/expect.1
ests/f_orphan_dotdot_ft/expect.1
ests/f_orphan_extents_inode/expect.1
ests/f_orphan_extents_inode/expect.2
ests/f_orphan_extents_inode/image.gz
ests/f_orphan_extents_inode/name
ests/f_orphan_indirect_inode/expect.1
ests/f_orphan_indirect_inode/expect.2
ests/f_orphan_indirect_inode/image.gz
ests/f_orphan_indirect_inode/name
ests/f_orphan_indirect_inode/script
ests/f_overfsblks/expect.1
ests/f_preen/expect.1
ests/f_rehash_dir/name
ests/f_resize_inode/expect
ests/f_resize_inode/script
ests/f_summary_counts/expect.1
ests/f_toobig_extent_dir/expect.1
ests/f_toobig_extent_dir/expect.2
ests/f_toobig_extent_dir/image.gz
ests/f_toobig_extent_dir/name
ests/f_uninit_ext_past_eof/expect.1
ests/f_uninit_ext_past_eof/expect.2
ests/f_uninit_ext_past_eof/image.gz
ests/f_uninit_ext_past_eof/name
ests/f_uninit_ext_past_eof2/expect.1
ests/f_uninit_ext_past_eof2/expect.2
ests/f_uninit_ext_past_eof2/image.gz
ests/f_uninit_ext_past_eof2/name
ests/f_uninit_last_uninit/script
ests/f_unused_itable/expect.1
ests/f_unused_itable/name
ests/f_zero_group/expect.1
ests/f_zero_inode_size/expect.1
ests/f_zero_super/expect.1
ests/f_zero_xattr/expect.1
ests/f_zero_xattr/image.gz
ests/f_zero_xattr/name
ests/f_zero_xattr/script
ests/filter.sed
ests/filter_dumpe2fs
ests/i_e2image/i_e2image.md5
ests/i_e2image/image1024.orig.bz2
ests/i_e2image/image2048.orig.bz2
ests/i_e2image/image4096.orig.bz2
ests/i_e2image/script
ests/m_bigjournal/expect.1
ests/m_bigjournal/script
ests/m_dasd_bs/expect.1
ests/m_desc_size_128/expect.1
ests/m_desc_size_128/script
ests/m_extent_journal/expect.1
ests/m_extent_journal/script
ests/m_large_file/expect.1
ests/m_meta_bg/expect.1
ests/m_mkfs_overhead/expect
ests/m_mkfs_overhead/expect.1
ests/m_mkfs_overhead/script
ests/m_mmp/expect.1
ests/m_mmp/script
ests/m_no_opt/expect.1
ests/m_quota/expect.1
ests/m_quota/script
ests/m_raid_opt/expect.1
ests/m_raid_opt/script
ests/m_root_owner/expect.1
ests/m_root_owner/script
ests/m_std/expect.1
ests/m_uninit/expect.1
ests/mke2fs.conf.in
ests/progs/Makefile.in
ests/progs/crcsum.c
ests/progs/test_icount.c
ests/r_1024_small_bg/script
ests/r_64bit_big_expand/script
ests/r_bigalloc_big_expand/script
ests/r_ext4_big_expand/script
ests/r_ext4_small_bg/script
ests/r_inline_xattr/expect
ests/r_inline_xattr/script
ests/r_min_itable/expect
ests/r_min_itable/image.gz
ests/r_min_itable/name
ests/r_min_itable/script
ests/r_move_itable/expect
ests/r_move_itable/script
ests/r_resize_inode/expect
ests/r_resize_inode/script
ests/run_e2fsck
ests/run_mke2fs
ests/scripts/mkdup
ests/scripts/resize_test
ests/t_ext_jnl_rm/script
ests/t_mmp_1on/name
ests/t_mmp_1on/script
ests/t_mmp_2off/name
ests/t_mmp_2off/script
ests/t_quota_1on/name
ests/t_quota_1on/script
ests/t_quota_2off/name
ests/t_quota_2off/script
ests/test_config
ests/test_one.in
ests/test_post
ests/test_script.in
ests/u_mke2fs/script
ests/u_tune2fs/script
til/Makefile.in
til/Makefile.pq
til/all.exclude
til/install-symlink.in
til/subset.exclude
til/subst.c
til/subst.conf.in
til/symlinks.c
ersion.h
ordwrap.pl
9d9653095dd3ecb9f86e9347a14f7203f52f3f3e 06-Mar-2014 JP Abgrall <jpa@google.com> Merge "e2fsck: remove unneeded type redefinitions"
6f9e22dd620eb2a32b703cbfee66fc989e8ad7ae 06-Mar-2014 JP Abgrall <jpa@google.com> e2fsck: remove unneeded type redefinitions

Or else ...:
In file included from e2fsck/pass5.c:21:
e2fsck/problem.h:13: error: redefinition of typedef ‘__u32’
lib/ext2fs/ext2_types.h:56: error: previous declaration of ‘__u32’ was here
e2fsck/problem.h:14: error: redefinition of typedef ‘errcode_t’
lib/et/com_err.h:22: error: previous declaration of ‘errcode_t’ was here

Change-Id: I0a1ff3b2455bfbaf1e3d0940034a7dbcc231a0f7
Signed-off-by: JP Abgrall <jpa@google.com>
2fsck/problem.h
66b7b06812cc7ae835e0c0ed2656d1a27580c5ed 05-Mar-2014 JP Abgrall <jpa@google.com> am 166bc333: Merge "e2fsck: Don\'t use e2fsck_global_ctx unless HAVE_SIGNAL_H"

* commit '166bc3339ab0914cf1c2e316e2143ccfefec2ae4':
e2fsck: Don't use e2fsck_global_ctx unless HAVE_SIGNAL_H
08b8eab0cbebe1b109037dd8ffcf813ad35bfc3e 04-Mar-2014 JP Abgrall <jpa@google.com> e2fsck: Don't use e2fsck_global_ctx unless HAVE_SIGNAL_H

Program received signal SIGSEGV, Segmentation fault.
0x56577382 in e2fsck_set_bitmap_type (fs=0x5658c2b8, default_type=2, profile_name=0x56580e12 "default", old_type=0x0) at external/e2fsprogs/e2fsck/util.c:797
797 profile_get_uint(e2fsck_global_ctx->profile, "bitmaps",

e2fsck_global_ctx is only ever initialized in unix.c PRS()
if HAVE_SIGNAL_H is defined.

Change-Id: Ic93fb8d9114054f7bf8512c622b2fb9b2ae60584
Signed-off-by: JP Abgrall <jpa@google.com>
2fsck/util.c
166bc3339ab0914cf1c2e316e2143ccfefec2ae4 04-Mar-2014 JP Abgrall <jpa@google.com> Merge "e2fsck: Don't use e2fsck_global_ctx unless HAVE_SIGNAL_H"
e80e74c41d85ff93f3d212ba6512340f48054a93 04-Mar-2014 JP Abgrall <jpa@google.com> e2fsck: Don't use e2fsck_global_ctx unless HAVE_SIGNAL_H

Program received signal SIGSEGV, Segmentation fault.
0x56577382 in e2fsck_set_bitmap_type (fs=0x5658c2b8, default_type=2, profile_name=0x56580e12 "default", old_type=0x0) at external/e2fsprogs/e2fsck/util.c:797
797 profile_get_uint(e2fsck_global_ctx->profile, "bitmaps",

e2fsck_global_ctx is only ever initialized in unix.c PRS()
if HAVE_SIGNAL_H is defined.

Change-Id: Ic93fb8d9114054f7bf8512c622b2fb9b2ae60584
Signed-off-by: JP Abgrall <jpa@google.com>
2fsck/util.c
e97b2b6fc82f840e84dfc631b87f21be44ff2421 04-Mar-2014 JP Abgrall <jpa@google.com> Merge remote-tracking branch 'linaro/linaro-1.42.9' into aosp_master

* linaro/linaro-1.42.9: (4262 commits)
Add missing libext2_quota linkage and resource_track.c
Fix blkid time diff bug, build binary.
Add files that would normally be generated by the e2fsprogs build system
Re-add Android makefiles from AOSP master
Update release notes, etc., for final 1.42.9 release
po: update vi.po (from translationproject.org)
po: update tr.po (from translationproject.org)
po: update sv.po (from translationproject.org)
po: update pl.po (from translationproject.org)
po: update nl.po (from translationproject.org)
po: update fr.po (from translationproject.org)
po: update de.po (from translationproject.org)
po: update cs.po (from translationproject.org)
po: update ca.po (from translationproject.org)
e2freefrag: avoid integer overflow when reporting free space statistics
debugfs: document the lsdel command in the man page
mke2fs: clarify documentation about bigalloc in the man page
debian: fix cross build support
mke2fs: clarify the description of the -I option in the man page
debian: update debian-policy conormance to 3.9.5
...
7e2fb9d09c245eba70ee008b78007315e9c0f1df 04-Mar-2014 JP Abgrall <jpa@google.com> Prepare for upstream 1.42.9

Remove everything.

Change-Id: I6ef4c9bc888a245744d7ec4d193857b357472392
Signed-off-by: JP Abgrall <jpa@google.com>
missing-copyright
release-checklist
BOUT-NLS
ndroid.mk
OPYING
leanSpec.mk
NSTALL
NSTALL.elfbin
CONFIG.in
ODULE_LICENSE_GPL
akefile.in
EADME
ELEASE-NOTES
HLIBS
UBMITTING-PATCHES
clocal.m4
onfig/config.guess
onfig/config.rpath
onfig/config.sub
onfig/install-sh
onfig/mkinstalldirs
onfig/parse-types.sh
onfigure
onfigure.in
ontrib/build-rpm
ontrib/dconf
ontrib/e2croncheck
ontrib/make-sparse.c
ontrib/python-uuid/setup.py
ontrib/python-uuid/test.py
ontrib/python-uuid/uuid.c
ebian/attic/comerrg-dev.info
ebian/attic/comerrg-dev.menu
ebian/attic/e2fslibsg-dev.info
ebian/attic/e2fslibsg-dev.menu
ebian/attic/libs/comerr2g.files
ebian/attic/libs/control
ebian/attic/libs/e2fslibsg.files
ebian/attic/libs/rules
ebian/attic/libs/ss2g.files
ebian/changelog
ebian/comerr-dev.doc-base
ebian/comerr-dev.examples
ebian/comerr-dev.files
ebian/compat
ebian/control.in
ebian/e2fsck-static.copyright
ebian/e2fsck-static.files
ebian/e2fslibs-dev.doc-base
ebian/e2fslibs-dev.files
ebian/e2fslibs.copyright
ebian/e2fslibs.files
ebian/e2fslibs.symbols
ebian/e2fsprogs-udeb.shlibs.local
ebian/e2fsprogs.copyright
ebian/e2fsprogs.docs
ebian/e2fsprogs.files
ebian/e2fsprogs.shlibs.local.in
ebian/libblkid-dev.files
ebian/libblkid.copyright
ebian/libblkid1.files
ebian/libblkid1.symbols
ebian/libcomerr2.copyright
ebian/libcomerr2.files
ebian/libcomerr2.symbols
ebian/libss2.copyright
ebian/libss2.files
ebian/libss2.symbols
ebian/libuuid1.copyright
ebian/libuuid1.files
ebian/libuuid1.postinst
ebian/libuuid1.postrm
ebian/libuuid1.symbols
ebian/rules
ebian/shlibs.local
ebian/source.lintian-overrides
ebian/ss-dev.examples
ebian/ss-dev.files
ebian/uuid-dev.README.Debian
ebian/uuid-dev.copyright
ebian/uuid-dev.files
ebian/uuid-runtime.copyright
ebian/uuid-runtime.files
ebian/uuid-runtime.lintian-overrides
ebian/uuid-runtime.postinst
ebian/uuid-runtime.postrm
ebian/uuid-runtime.prerm
ebian/uuid-runtime.shlibs.local
ebian/watch
ebugfs/Makefile.in
ebugfs/debug_cmds.ct
ebugfs/debugfs.8.in
ebugfs/debugfs.c
ebugfs/debugfs.h
ebugfs/dump.c
ebugfs/htree.c
ebugfs/icheck.c
ebugfs/jfs_user.h
ebugfs/logdump.c
ebugfs/ls.c
ebugfs/lsdel.c
ebugfs/ncheck.c
ebugfs/set_fields.c
ebugfs/unused.c
ebugfs/util.c
epfix.sed
oc/Makefile.in
oc/libblkid.txt
oc/libext2fs.texinfo
oc/texinfo.tex
2fsck/Android.mk
2fsck/CHANGES
2fsck/MODULE_LICENSE_GPL
2fsck/Makefile.in
2fsck/argv_parse.c
2fsck/argv_parse.h
2fsck/badblocks.c
2fsck/crc32.c
2fsck/crc32defs.h
2fsck/crc32table.h
2fsck/dict.c
2fsck/dict.h
2fsck/dirinfo.c
2fsck/dx_dirinfo.c
2fsck/e2fsck.8.in
2fsck/e2fsck.c
2fsck/e2fsck.conf.5.in
2fsck/e2fsck.h
2fsck/ea_refcount.c
2fsck/ehandler.c
2fsck/emptydir.c
2fsck/extend.c
2fsck/flushb.c
2fsck/gen_crc32table.c
2fsck/iscan.c
2fsck/jfs_user.h
2fsck/journal.c
2fsck/message.c
2fsck/mtrace.awk
2fsck/mtrace.c
2fsck/mtrace.h
2fsck/pass1.c
2fsck/pass1b.c
2fsck/pass2.c
2fsck/pass3.c
2fsck/pass4.c
2fsck/pass5.c
2fsck/problem.c
2fsck/problem.h
2fsck/problemP.h
2fsck/prof_err.c
2fsck/prof_err.et
2fsck/prof_err.h
2fsck/profile.c
2fsck/profile.h
2fsck/profile_helpers.c
2fsck/profile_helpers.h
2fsck/recovery.c
2fsck/region.c
2fsck/rehash.c
2fsck/revoke.c
2fsck/scantest.c
2fsck/super.c
2fsck/unix.c
2fsck/util.c
2fsprogs.lsm
2fsprogs.spec
2fsprogs.spec.in
xt2ed/COPYRIGHT
xt2ed/Makefile.in
xt2ed/README
xt2ed/blockbitmap_com.c
xt2ed/dir_com.c
xt2ed/disk.c
xt2ed/doc/ext2ed-design.sgml
xt2ed/doc/ext2fs-overview.sgml
xt2ed/doc/user-guide.sgml
xt2ed/ext2.descriptors
xt2ed/ext2_com.c
xt2ed/ext2ed.8.in
xt2ed/ext2ed.conf.in
xt2ed/ext2ed.h
xt2ed/file_com.c
xt2ed/general_com.c
xt2ed/group_com.c
xt2ed/init.c
xt2ed/inode_com.c
xt2ed/inodebitmap_com.c
xt2ed/main.c
xt2ed/super_com.c
xt2ed/win.c
nclude/nonunix/asm/types.h
nclude/nonunix/config.h
nclude/nonunix/dirent.h
nclude/nonunix/getopt.h
nclude/nonunix/grp.h
nclude/nonunix/linux/types.h
nclude/nonunix/pwd.h
nclude/nonunix/sys/file.h
nclude/nonunix/sys/ioctl.h
nclude/nonunix/sys/param.h
nclude/nonunix/sys/resource.h
nclude/nonunix/sys/socket.h
nclude/nonunix/sys/time.h
nclude/nonunix/sys/wait.h
nclude/nonunix/termios.h
nclude/nonunix/unistd.h
nclude/nonunix/utime.h
nstall-utils/compile_manpages
nstall-utils/convfstab
nstall-utils/remove_preformat_manpages
ntl/Makefile.in
ntl/VERSION
ntl/bindtextdom.c
ntl/config.charset
ntl/dcgettext.c
ntl/dcigettext.c
ntl/dcngettext.c
ntl/dgettext.c
ntl/dngettext.c
ntl/eval-plural.h
ntl/explodename.c
ntl/finddomain.c
ntl/gettext.c
ntl/gettextP.h
ntl/gmo.h
ntl/hash-string.h
ntl/intl-compat.c
ntl/l10nflist.c
ntl/libgettext.h
ntl/libgnuintl.h.in
ntl/loadinfo.h
ntl/loadmsgcat.c
ntl/localcharset.c
ntl/localcharset.h
ntl/locale.alias
ntl/localealias.c
ntl/localename.c
ntl/log.c
ntl/ngettext.c
ntl/os2compat.c
ntl/os2compat.h
ntl/osdep.c
ntl/plural-exp.c
ntl/plural-exp.h
ntl/plural.c
ntl/plural.y
ntl/printf-args.c
ntl/printf-args.h
ntl/printf-parse.c
ntl/printf-parse.h
ntl/printf.c
ntl/ref-add.sin
ntl/ref-del.sin
ntl/relocatable.c
ntl/relocatable.h
ntl/textdomain.c
ntl/vasnprintf.c
ntl/vasnprintf.h
ntl/vasnwprintf.h
ntl/wprintf-parse.h
ntl/xsize.h
ib/Android.mk
ib/Makefile.bsd-lib
ib/Makefile.checker
ib/Makefile.darwin-lib
ib/Makefile.elf-lib
ib/Makefile.library
ib/Makefile.profile
ib/Makefile.solaris-lib
ib/blkid/Android.mk
ib/blkid/MODULE_LICENSE_LGPL
ib/blkid/Makefile.in
ib/blkid/blkid.h
ib/blkid/blkid.h.in
ib/blkid/blkid.pc.in
ib/blkid/blkidP.h
ib/blkid/blkid_types.h
ib/blkid/blkid_types.h.in
ib/blkid/cache.c
ib/blkid/dev.c
ib/blkid/devname.c
ib/blkid/devno.c
ib/blkid/getsize.c
ib/blkid/libblkid.3.in
ib/blkid/list.h
ib/blkid/llseek.c
ib/blkid/probe.c
ib/blkid/probe.h
ib/blkid/read.c
ib/blkid/resolve.c
ib/blkid/save.c
ib/blkid/tag.c
ib/blkid/test_probe.in
ib/blkid/tests/cramfs.img.bz2
ib/blkid/tests/cramfs.results
ib/blkid/tests/ext2.img.bz2
ib/blkid/tests/ext2.results
ib/blkid/tests/ext3.img.bz2
ib/blkid/tests/ext3.results
ib/blkid/tests/fat.img.bz2
ib/blkid/tests/fat.results
ib/blkid/tests/fat32_label_64MB.img.bz2
ib/blkid/tests/fat32_label_64MB.results
ib/blkid/tests/iso.img.bz2
ib/blkid/tests/iso.results
ib/blkid/tests/jbd.img.bz2
ib/blkid/tests/jbd.results
ib/blkid/tests/jfs.img.bz2
ib/blkid/tests/jfs.results
ib/blkid/tests/minix.img.bz2
ib/blkid/tests/minix.results
ib/blkid/tests/ocfs2.img.bz2
ib/blkid/tests/ocfs2.results
ib/blkid/tests/reiser3.img.bz2
ib/blkid/tests/reiser3.results
ib/blkid/tests/reiser4.img.bz2
ib/blkid/tests/reiser4.results
ib/blkid/tests/romfs.img.bz2
ib/blkid/tests/romfs.results
ib/blkid/tests/small-fat32.img.bz2
ib/blkid/tests/small-fat32.results
ib/blkid/tests/swap0.img.bz2
ib/blkid/tests/swap0.results
ib/blkid/tests/swap1.img.bz2
ib/blkid/tests/swap1.results
ib/blkid/tests/udf.img.bz2
ib/blkid/tests/udf.results
ib/blkid/tests/xfs.img.bz2
ib/blkid/tests/xfs.results
ib/blkid/tests/zfs.img.bz2
ib/blkid/tests/zfs.results
ib/blkid/tst_types.c
ib/blkid/version.c
ib/e2p/Android.mk
ib/e2p/MODULE_LICENSE_LGPL
ib/e2p/Makefile.in
ib/e2p/e2p.h
ib/e2p/e2p.pc.in
ib/e2p/feature.c
ib/e2p/fgetflags.c
ib/e2p/fgetversion.c
ib/e2p/fsetflags.c
ib/e2p/fsetversion.c
ib/e2p/getflags.c
ib/e2p/getversion.c
ib/e2p/hashstr.c
ib/e2p/iod.c
ib/e2p/ls.c
ib/e2p/mntopts.c
ib/e2p/ostype.c
ib/e2p/parse_num.c
ib/e2p/pe.c
ib/e2p/percent.c
ib/e2p/pf.c
ib/e2p/ps.c
ib/e2p/setflags.c
ib/e2p/setversion.c
ib/e2p/uuid.c
ib/et/Android.mk
ib/et/MODULE_LICENSE_MIT
ib/et/Makefile.in
ib/et/com_err.3
ib/et/com_err.c
ib/et/com_err.h
ib/et/com_err.pc.in
ib/et/com_err.texinfo
ib/et/com_right.c
ib/et/compile_et.1
ib/et/compile_et.sh.in
ib/et/error_message.c
ib/et/error_table.h
ib/et/et_c.awk
ib/et/et_h.awk
ib/et/et_name.c
ib/et/init_et.c
ib/et/internal.h
ib/et/test_cases/continuation.c
ib/et/test_cases/continuation.et
ib/et/test_cases/continuation.h
ib/et/test_cases/heimdal.c
ib/et/test_cases/heimdal.et
ib/et/test_cases/heimdal.h
ib/et/test_cases/heimdal2.c
ib/et/test_cases/heimdal2.et
ib/et/test_cases/heimdal2.h
ib/et/test_cases/heimdal3.c
ib/et/test_cases/heimdal3.et
ib/et/test_cases/heimdal3.h
ib/et/test_cases/imap_err.c
ib/et/test_cases/imap_err.et
ib/et/test_cases/imap_err.h
ib/et/test_cases/simple.c
ib/et/test_cases/simple.et
ib/et/test_cases/simple.h
ib/et/texinfo.tex
ib/et/vfprintf.c
ib/ext2fs/Android.mk
ib/ext2fs/MODULE_LICENSE_LGPL
ib/ext2fs/Makefile.in
ib/ext2fs/alloc.c
ib/ext2fs/alloc_sb.c
ib/ext2fs/alloc_stats.c
ib/ext2fs/alloc_tables.c
ib/ext2fs/badblocks.c
ib/ext2fs/bb_compat.c
ib/ext2fs/bb_inode.c
ib/ext2fs/bitmaps.c
ib/ext2fs/bitops.c
ib/ext2fs/bitops.h
ib/ext2fs/block.c
ib/ext2fs/bmap.c
ib/ext2fs/bmove.c
ib/ext2fs/brel.h
ib/ext2fs/brel_ma.c
ib/ext2fs/check_desc.c
ib/ext2fs/closefs.c
ib/ext2fs/crc16.c
ib/ext2fs/crc16.h
ib/ext2fs/csum.c
ib/ext2fs/dblist.c
ib/ext2fs/dblist_dir.c
ib/ext2fs/dir_iterate.c
ib/ext2fs/dirblock.c
ib/ext2fs/dirhash.c
ib/ext2fs/dosio.c
ib/ext2fs/dosio.h
ib/ext2fs/dupfs.c
ib/ext2fs/e2image.h
ib/ext2fs/expanddir.c
ib/ext2fs/ext2_err.c
ib/ext2fs/ext2_err.et.in
ib/ext2fs/ext2_err.h
ib/ext2fs/ext2_ext_attr.h
ib/ext2fs/ext2_fs.h
ib/ext2fs/ext2_io.h
ib/ext2fs/ext2_types.h
ib/ext2fs/ext2_types.h.in
ib/ext2fs/ext2fs.h
ib/ext2fs/ext2fs.pc.in
ib/ext2fs/ext2fsP.h
ib/ext2fs/ext3_extents.h
ib/ext2fs/ext_attr.c
ib/ext2fs/extent.c
ib/ext2fs/extent_dbg.ct
ib/ext2fs/fiemap.h
ib/ext2fs/fileio.c
ib/ext2fs/finddev.c
ib/ext2fs/flushb.c
ib/ext2fs/freefs.c
ib/ext2fs/gen_bitmap.c
ib/ext2fs/get_pathname.c
ib/ext2fs/getsectsize.c
ib/ext2fs/getsize.c
ib/ext2fs/i_block.c
ib/ext2fs/icount.c
ib/ext2fs/imager.c
ib/ext2fs/ind_block.c
ib/ext2fs/initialize.c
ib/ext2fs/inline.c
ib/ext2fs/inode.c
ib/ext2fs/inode_io.c
ib/ext2fs/io_manager.c
ib/ext2fs/irel.h
ib/ext2fs/irel_ma.c
ib/ext2fs/ismounted.c
ib/ext2fs/jfs_compat.h
ib/ext2fs/jfs_dat.h
ib/ext2fs/jfs_user.h
ib/ext2fs/kernel-jbd.h
ib/ext2fs/kernel-list.h
ib/ext2fs/link.c
ib/ext2fs/llseek.c
ib/ext2fs/lookup.c
ib/ext2fs/mkdir.c
ib/ext2fs/mkjournal.c
ib/ext2fs/namei.c
ib/ext2fs/native.c
ib/ext2fs/newdir.c
ib/ext2fs/nt_io.c
ib/ext2fs/openfs.c
ib/ext2fs/read_bb.c
ib/ext2fs/read_bb_file.c
ib/ext2fs/res_gdt.c
ib/ext2fs/rw_bitmaps.c
ib/ext2fs/sparse.c
ib/ext2fs/swapfs.c
ib/ext2fs/tdb.c
ib/ext2fs/tdb.h
ib/ext2fs/tdb/build-tdb
ib/ext2fs/tdb/patches/copyright
ib/ext2fs/tdb/patches/ext2tdb-rename
ib/ext2fs/tdb/patches/replace-includes
ib/ext2fs/tdb/patches/series
ib/ext2fs/tdb/patches/static-functions
ib/ext2fs/tdb/patches/static-prototypes
ib/ext2fs/tdb/patches/tdbtool-includes
ib/ext2fs/tdbtool.c
ib/ext2fs/test_io.c
ib/ext2fs/tst_badblocks.c
ib/ext2fs/tst_bitops.c
ib/ext2fs/tst_byteswap.c
ib/ext2fs/tst_getsectsize.c
ib/ext2fs/tst_getsize.c
ib/ext2fs/tst_iscan.c
ib/ext2fs/tst_super_size.c
ib/ext2fs/tst_types.c
ib/ext2fs/undo_io.c
ib/ext2fs/unix_io.c
ib/ext2fs/unlink.c
ib/ext2fs/valid_blk.c
ib/ext2fs/version.c
ib/ext2fs/write_bb_file.c
ib/fpopen.c
ib/ss/MODULE_LICENSE_MIT
ib/ss/Makefile.in
ib/ss/ct_c.awk
ib/ss/ct_c.sed
ib/ss/data.c
ib/ss/error.c
ib/ss/execute_cmd.c
ib/ss/get_readline.c
ib/ss/help.c
ib/ss/invocation.c
ib/ss/list_rqs.c
ib/ss/listen.c
ib/ss/mit-sipb-copyright.h
ib/ss/mk_cmds.1
ib/ss/mk_cmds.sh.in
ib/ss/pager.c
ib/ss/parse.c
ib/ss/prompt.c
ib/ss/request_tbl.c
ib/ss/requests.c
ib/ss/ss.h
ib/ss/ss.pc.in
ib/ss/ss_err.et
ib/ss/ss_internal.h
ib/ss/std_rqs.ct
ib/ss/test_cmd.ct
ib/ss/test_script
ib/ss/test_script_expected
ib/ss/test_ss.c
ib/uuid/Android.mk
ib/uuid/COPYING
ib/uuid/MODULE_LICENSE_BSD_LIKE
ib/uuid/Makefile.in
ib/uuid/clear.c
ib/uuid/compare.c
ib/uuid/configure.in
ib/uuid/copy.c
ib/uuid/gen_uuid.c
ib/uuid/gen_uuid_nt.c
ib/uuid/isnull.c
ib/uuid/pack.c
ib/uuid/parse.c
ib/uuid/tst_uuid.c
ib/uuid/unpack.c
ib/uuid/unparse.c
ib/uuid/uuid.3.in
ib/uuid/uuid.h
ib/uuid/uuid.h.in
ib/uuid/uuid.pc.in
ib/uuid/uuidP.h
ib/uuid/uuid_clear.3.in
ib/uuid/uuid_compare.3.in
ib/uuid/uuid_copy.3.in
ib/uuid/uuid_generate.3.in
ib/uuid/uuid_is_null.3.in
ib/uuid/uuid_parse.3.in
ib/uuid/uuid_time.3.in
ib/uuid/uuid_time.c
ib/uuid/uuid_types.h
ib/uuid/uuid_types.h.in
ib/uuid/uuid_unparse.3.in
ib/uuid/uuidd.h
isc/Android.mk
isc/MODULE_LICENSE_GPL
isc/Makefile.in
isc/badblocks.8.in
isc/badblocks.c
isc/base_device.c
isc/base_device.tst
isc/blkid.8.in
isc/blkid.c
isc/chattr.1.in
isc/chattr.c
isc/default_profile.c
isc/dumpe2fs.8.in
isc/dumpe2fs.c
isc/e2freefrag.8.in
isc/e2freefrag.c
isc/e2freefrag.h
isc/e2image.8.in
isc/e2image.c
isc/e2initrd_helper.c
isc/e2label.8.in
isc/e2label.c
isc/e2undo.8.in
isc/e2undo.c
isc/filefrag.8.in
isc/filefrag.c
isc/findfs.8.in
isc/findsuper.c
isc/fsck.8.in
isc/fsck.c
isc/fsck.h
isc/ismounted.c
isc/jfs_user.h
isc/logsave.8.in
isc/logsave.c
isc/lsattr.1.in
isc/lsattr.c
isc/mke2fs.8.in
isc/mke2fs.c
isc/mke2fs.conf
isc/mke2fs.conf.5.in
isc/mklost+found.8.in
isc/mklost+found.c
isc/nls-enable.h
isc/partinfo.c
isc/profile-to-c.awk
isc/tune2fs.8.in
isc/tune2fs.c
isc/util.c
isc/util.h
isc/uuidd.8.in
isc/uuidd.c
isc/uuidd.rc
isc/uuidgen.1.in
isc/uuidgen.c
o/LINGUAS
o/Makefile.in.in
o/Makevars
o/POTFILES.in
o/Rules-quot
o/at-expand.pl
o/boldquot.sed
o/ca.gmo
o/ca.po
o/cs.gmo
o/cs.po
o/de.gmo
o/de.po
o/e2fsprogs.pot
o/en@boldquot.header
o/en@quot.header
o/es.gmo
o/es.po
o/fr.gmo
o/fr.po
o/id.gmo
o/id.po
o/insert-header.sin
o/it.gmo
o/it.po
o/nl.gmo
o/nl.po
o/pl.gmo
o/pl.po
o/quot.sed
o/remove-potcdate.sin
o/sv.gmo
o/sv.po
o/tr.gmo
o/tr.po
o/vi.gmo
o/vi.po
o/zh_CN.gmo
o/zh_CN.po
esize/Android.mk
esize/MODULE_LICENSE_GPL
esize/Makefile.in
esize/extent.c
esize/main.c
esize/online.c
esize/resize2fs.8.in
esize/resize2fs.c
esize/resize2fs.h
esize/sim_progress.c
esize/test_extent.c
esize/test_extent.in
ests/Makefile.in
ests/README
ests/d_loaddump/expect
ests/d_loaddump/name
ests/d_loaddump/script
ests/defaults/e_script
ests/defaults/f_script
ests/e_brel_bma/name
ests/e_brel_bma/script
ests/e_icount_normal/name
ests/e_icount_opt/name
ests/e_irel_ima/name
ests/e_irel_ima/script
ests/f_16384_block/expect.1
ests/f_16384_block/expect.2
ests/f_16384_block/image.gz
ests/f_16384_block/name
ests/f_8192_block/expect.1
ests/f_8192_block/expect.2
ests/f_8192_block/image.gz
ests/f_8192_block/name
ests/f_bad_disconnected_inode/expect.1
ests/f_bad_disconnected_inode/expect.2
ests/f_bad_disconnected_inode/image.gz
ests/f_bad_disconnected_inode/name
ests/f_bad_local_jnl/expect.1
ests/f_bad_local_jnl/expect.2
ests/f_bad_local_jnl/image.gz
ests/f_bad_local_jnl/name
ests/f_badbblocks/expect.1
ests/f_badbblocks/expect.2
ests/f_badbblocks/image.gz
ests/f_badbblocks/name
ests/f_baddir/expect.1
ests/f_baddir/expect.2
ests/f_baddir/image.gz
ests/f_baddir/name
ests/f_baddir2/expect.1
ests/f_baddir2/expect.2
ests/f_baddir2/image.gz
ests/f_baddir2/name
ests/f_baddotdir/expect.1
ests/f_baddotdir/expect.2
ests/f_baddotdir/image.gz
ests/f_baddotdir/name
ests/f_badinode/expect.1
ests/f_badinode/expect.2
ests/f_badinode/image.gz
ests/f_badinode/name
ests/f_badjour_indblks/expect.1
ests/f_badjour_indblks/expect.2
ests/f_badjour_indblks/image
ests/f_badjour_indblks/image.gz
ests/f_badjour_indblks/name
ests/f_badjourblks/expect.1
ests/f_badjourblks/expect.2
ests/f_badjourblks/image.gz
ests/f_badjourblks/name
ests/f_badorphan/expect.1
ests/f_badorphan/expect.2
ests/f_badorphan/image.gz
ests/f_badorphan/name
ests/f_badprimary/expect.1
ests/f_badprimary/expect.2
ests/f_badprimary/image.gz
ests/f_badprimary/name
ests/f_badroot/expect.1
ests/f_badroot/expect.2
ests/f_badroot/image.gz
ests/f_badroot/name
ests/f_badsymlinks/expect.1
ests/f_badsymlinks/expect.2
ests/f_badsymlinks/image.gz
ests/f_badsymlinks/name
ests/f_badtable/expect.1
ests/f_badtable/expect.2
ests/f_badtable/image.gz
ests/f_badtable/name
ests/f_bbfile/expect.1
ests/f_bbfile/expect.2
ests/f_bbfile/image.gz
ests/f_bbfile/name
ests/f_bbinode/expect.1
ests/f_bbinode/expect.2
ests/f_bbinode/image.gz
ests/f_bbinode/name
ests/f_big_sparse/expect.1
ests/f_big_sparse/expect.2
ests/f_big_sparse/image.gz
ests/f_big_sparse/name
ests/f_bitmaps/expect.1
ests/f_bitmaps/expect.2
ests/f_bitmaps/image.gz
ests/f_bitmaps/name
ests/f_clear_xattr/expect.1
ests/f_clear_xattr/expect.2
ests/f_clear_xattr/image.gz
ests/f_clear_xattr/name
ests/f_crashdisk/expect.1
ests/f_crashdisk/image.gz
ests/f_crashdisk/name
ests/f_crashdisk/script
ests/f_dir_bad_mode/expect.1
ests/f_dir_bad_mode/expect.2
ests/f_dir_bad_mode/image.gz
ests/f_dir_bad_mode/name
ests/f_dirlink/expect.1
ests/f_dirlink/expect.2
ests/f_dirlink/image.gz
ests/f_dirlink/name
ests/f_dup/expect.1
ests/f_dup/expect.2
ests/f_dup/image.gz
ests/f_dup/name
ests/f_dup2/expect.1
ests/f_dup2/expect.2
ests/f_dup2/image.gz
ests/f_dup2/name
ests/f_dup3/expect.1
ests/f_dup3/expect.2
ests/f_dup3/image.gz
ests/f_dup3/name
ests/f_dup4/expect.1
ests/f_dup4/expect.2
ests/f_dup4/name
ests/f_dup4/script
ests/f_dup_de/expect-nohtree.1
ests/f_dup_de/expect-nohtree.2
ests/f_dup_de/expect.1
ests/f_dup_de/expect.2
ests/f_dup_de/image.gz
ests/f_dup_de/name
ests/f_dup_de/script
ests/f_dup_de2/expect.1
ests/f_dup_de2/expect.2
ests/f_dup_de2/image.gz
ests/f_dup_de2/name
ests/f_dup_resize/expect.1
ests/f_dup_resize/expect.2
ests/f_dup_resize/name
ests/f_dup_resize/script
ests/f_dupdot/expect.1
ests/f_dupdot/expect.2
ests/f_dupdot/image.gz
ests/f_dupdot/name
ests/f_dupfsblks/expect.1
ests/f_dupfsblks/expect.2
ests/f_dupfsblks/image.gz
ests/f_dupfsblks/name
ests/f_dupsuper/expect.1
ests/f_dupsuper/expect.2
ests/f_dupsuper/image.gz
ests/f_dupsuper/name
ests/f_ea_checks/expect.1
ests/f_ea_checks/expect.2
ests/f_ea_checks/image.gz
ests/f_ea_checks/name
ests/f_end-bitmap/expect.1
ests/f_end-bitmap/expect.2
ests/f_end-bitmap/image.gz
ests/f_end-bitmap/name
ests/f_expand/expect.1.gz
ests/f_expand/expect.2
ests/f_expand/image.gz
ests/f_expand/name
ests/f_ext_journal/expect.1
ests/f_ext_journal/expect.2
ests/f_ext_journal/image.gz
ests/f_ext_journal/journal.gz
ests/f_ext_journal/script
ests/f_extent_bad_node/expect.1
ests/f_extent_bad_node/expect.2
ests/f_extent_bad_node/image.gz
ests/f_extent_bad_node/name
ests/f_extents/expect.1
ests/f_extents/expect.2
ests/f_extents/image.gz
ests/f_extents/name
ests/f_extents2/expect.1
ests/f_extents2/expect.2
ests/f_extents2/image.gz
ests/f_extents2/name
ests/f_extra_journal/expect.1
ests/f_extra_journal/expect.2
ests/f_extra_journal/image.gz
ests/f_extra_journal/name
ests/f_fast_symlink_extents/expect.1
ests/f_fast_symlink_extents/expect.2
ests/f_fast_symlink_extents/image.gz
ests/f_fast_symlink_extents/name
ests/f_file_acl_high/expect.1
ests/f_file_acl_high/expect.2
ests/f_file_acl_high/image.gz
ests/f_file_acl_high/name
ests/f_filetype/expect.1
ests/f_filetype/expect.2
ests/f_filetype/image.gz
ests/f_filetype/name
ests/f_full_bg/expect.1
ests/f_full_bg/expect.2
ests/f_full_bg/image.gz
ests/f_full_bg/name
ests/f_h_badnode/expect.1
ests/f_h_badnode/expect.2
ests/f_h_badnode/image.gz
ests/f_h_badnode/name
ests/f_h_badnode/script
ests/f_h_badroot/expect.1
ests/f_h_badroot/expect.2
ests/f_h_badroot/image.gz
ests/f_h_badroot/name
ests/f_h_badroot/script
ests/f_h_normal/expect.1
ests/f_h_normal/expect.2
ests/f_h_normal/image.gz
ests/f_h_normal/name
ests/f_h_normal/script
ests/f_h_reindex/expect.1
ests/f_h_reindex/expect.2
ests/f_h_reindex/image.gz
ests/f_h_reindex/name
ests/f_h_reindex/script
ests/f_h_unsigned/expect.1
ests/f_h_unsigned/expect.2
ests/f_h_unsigned/image.gz
ests/f_h_unsigned/name
ests/f_h_unsigned/script
ests/f_holedir/expect.1
ests/f_holedir/expect.2
ests/f_holedir/image.gz
ests/f_holedir/name
ests/f_holedir2/expect.1
ests/f_holedir2/expect.2
ests/f_holedir2/image.gz
ests/f_holedir2/name
ests/f_hurd/expect.1
ests/f_hurd/expect.2
ests/f_hurd/image.gz
ests/f_hurd/name
ests/f_illbbitmap/expect.1
ests/f_illbbitmap/expect.2
ests/f_illbbitmap/image.gz
ests/f_illbbitmap/name
ests/f_illibitmap/expect.1
ests/f_illibitmap/expect.2
ests/f_illibitmap/image.gz
ests/f_illibitmap/name
ests/f_illitable/expect.1
ests/f_illitable/expect.2
ests/f_illitable/image.gz
ests/f_illitable/name
ests/f_illitable_flexbg/expect.1
ests/f_illitable_flexbg/expect.2
ests/f_illitable_flexbg/image.gz
ests/f_illitable_flexbg/name
ests/f_imagic/expect.1
ests/f_imagic/expect.2
ests/f_imagic/image.gz
ests/f_imagic/name
ests/f_imagic_fs/expect.1
ests/f_imagic_fs/expect.2
ests/f_imagic_fs/name
ests/f_imagic_fs/script
ests/f_journal/expect.1
ests/f_journal/expect.2
ests/f_journal/image.gz
ests/f_journal/name
ests/f_lotsbad/expect.1
ests/f_lotsbad/expect.2
ests/f_lotsbad/image.gz
ests/f_lotsbad/name
ests/f_lpf/expect.1
ests/f_lpf/expect.2
ests/f_lpf/image.gz
ests/f_lpf/name
ests/f_lpf2/expect.1
ests/f_lpf2/expect.2
ests/f_lpf2/image.gz
ests/f_lpf2/name
ests/f_lpffile/expect.1
ests/f_lpffile/expect.2
ests/f_lpffile/image.gz
ests/f_lpffile/name
ests/f_messy_inode/expect.1
ests/f_messy_inode/expect.2
ests/f_messy_inode/image.gz
ests/f_messy_inode/name
ests/f_miss_blk_bmap/expect.1
ests/f_miss_blk_bmap/expect.2
ests/f_miss_blk_bmap/image.gz
ests/f_miss_blk_bmap/name
ests/f_miss_journal/expect.1
ests/f_miss_journal/expect.2
ests/f_miss_journal/image.gz
ests/f_miss_journal/name
ests/f_misstable/expect.1
ests/f_misstable/expect.2
ests/f_misstable/image.gz
ests/f_misstable/name
ests/f_mke2fs2b/expect.1
ests/f_mke2fs2b/expect.2
ests/f_mke2fs2b/image.gz
ests/f_mke2fs2b/name
ests/f_noroot/expect.1
ests/f_noroot/expect.2
ests/f_noroot/image.gz
ests/f_noroot/name
ests/f_okgroup/expect.1
ests/f_okgroup/expect.2
ests/f_okgroup/image.gz
ests/f_okgroup/name
ests/f_orphan/expect.1
ests/f_orphan/expect.2
ests/f_orphan/image.gz
ests/f_orphan/name
ests/f_orphan_dotdot_ft/expect.1
ests/f_orphan_dotdot_ft/expect.2
ests/f_orphan_dotdot_ft/image.gz
ests/f_orphan_dotdot_ft/name
ests/f_overfsblks/expect.1
ests/f_overfsblks/expect.2
ests/f_overfsblks/image.gz
ests/f_overfsblks/name
ests/f_preen/expect.1
ests/f_preen/expect.2
ests/f_preen/image.gz
ests/f_preen/name
ests/f_preen/script
ests/f_recnect_bad/expect.1
ests/f_recnect_bad/expect.2
ests/f_recnect_bad/image.gz
ests/f_recnect_bad/name
ests/f_reconnect/expect.1
ests/f_reconnect/expect.2
ests/f_reconnect/image.gz
ests/f_reconnect/name
ests/f_rehash_dir/expect.1
ests/f_rehash_dir/expect.2
ests/f_rehash_dir/image.gz
ests/f_rehash_dir/script
ests/f_resize_inode/expect
ests/f_resize_inode/script
ests/f_salvage_dir/expect.1
ests/f_salvage_dir/expect.2
ests/f_salvage_dir/image.gz
ests/f_salvage_dir/name
ests/f_selinux/expect.1
ests/f_selinux/expect.2
ests/f_selinux/image.gz
ests/f_selinux/name
ests/f_special_ea/expect.1
ests/f_special_ea/image.gz
ests/f_special_ea/name
ests/f_special_ea/script
ests/f_summary_counts/expect.1
ests/f_summary_counts/expect.2
ests/f_summary_counts/image.gz
ests/f_summary_counts/name
ests/f_summary_counts/script
ests/f_uninit_last_uninit/expect.1
ests/f_uninit_last_uninit/expect.2
ests/f_uninit_last_uninit/name
ests/f_uninit_last_uninit/script
ests/f_unsorted_EAs/expect.1
ests/f_unsorted_EAs/expect.2
ests/f_unsorted_EAs/image.gz
ests/f_unsorted_EAs/name
ests/f_unused_itable/expect.1
ests/f_unused_itable/expect.2
ests/f_unused_itable/image.gz
ests/f_unused_itable/name
ests/f_valid_ea_in_inode/expect.1
ests/f_valid_ea_in_inode/image.gz
ests/f_valid_ea_in_inode/name
ests/f_valid_ea_in_inode/script
ests/f_zero_group/expect.1
ests/f_zero_group/expect.2
ests/f_zero_group/image.gz
ests/f_zero_group/name
ests/f_zero_inode_size/expect.1
ests/f_zero_inode_size/expect.2
ests/f_zero_inode_size/image.gz
ests/f_zero_inode_size/name
ests/f_zero_super/expect.1
ests/f_zero_super/expect.2
ests/f_zero_super/image.gz
ests/f_zero_super/name
ests/filter_dumpe2fs
ests/m_dasd_bs/expect.1
ests/m_dasd_bs/script
ests/m_large_file/expect.1
ests/m_large_file/script
ests/m_meta_bg/expect.1
ests/m_meta_bg/script
ests/m_mkfs_overhead/expect.1
ests/m_mkfs_overhead/script
ests/m_no_opt/expect.1
ests/m_no_opt/script
ests/m_raid_opt/expect.1
ests/m_raid_opt/script
ests/m_std/expect.1
ests/m_std/script
ests/m_uninit/expect.1
ests/m_uninit/script
ests/mke2fs.conf.in
ests/progs/Makefile.in
ests/progs/hold_inode.c
ests/progs/random_exercise.c
ests/progs/test_data/bma.setup
ests/progs/test_data/expect.brel
ests/progs/test_data/expect.icount
ests/progs/test_data/expect.irel
ests/progs/test_data/ima.setup
ests/progs/test_data/normal.setup
ests/progs/test_data/opt.setup
ests/progs/test_data/test.brel
ests/progs/test_data/test.icount
ests/progs/test_data/test.irel
ests/progs/test_icount.c
ests/progs/test_icount.h
ests/progs/test_icount_cmds.ct
ests/progs/test_rel.c
ests/progs/test_rel.h
ests/progs/test_rel_cmds.ct
ests/r_inline_xattr/expect
ests/r_inline_xattr/image.gz
ests/r_inline_xattr/name
ests/r_inline_xattr/script
ests/r_move_itable/expect
ests/r_move_itable/name
ests/r_move_itable/script
ests/r_resize_inode/expect
ests/r_resize_inode/name
ests/r_resize_inode/script
ests/run_e2fsck
ests/run_mke2fs
ests/test_config
ests/test_script.in
ests/u_mke2fs/script
ests/u_tune2fs/script
til/Makefile.in
til/all.exclude
til/copy_sparse.c
til/gcc-wall-cleanup
til/gen-tarball.in
til/libecho.c
til/subset.exclude
til/subst.c
til/subst.conf.in
ersion.h
ordwrap.pl
3567321e376c60d42b38e97bba8011c6ca61edbf 19-Feb-2014 Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> Add missing libext2_quota linkage and resource_track.c

Change-Id: If3983d882f97c5b4cfaf2a177d5d84c68c66fad3
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
isc/Android.mk
esize/Android.mk
9f9a0502c08474b18ab6084f0c251672eb8543d7 17-Oct-2013 Jeff Sharkey <jsharkey@android.com> Fix blkid time diff bug, build binary.

When calculating time diffs, use difftime() instead of risking
integer overflow. Also build a "blkid" binary.

Bug: 11175082
Change-Id: I23521f45204574bb32f152926401c2cbad93175b
ib/blkid/probe.c
18a1444b4f1e6a0948fd38fa0de382d86cfe04de 31-Dec-2013 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Add files that would normally be generated by the e2fsprogs build system

Android doesn't run ./configure and friends, so it has to rely on
pre-populated versions of the autogenerated files.

This is somewhat bogus (e.g. hardcoded little-endian reference in
lib/ext2fs/ext2_types.h) and should at some point be fixed, but it's
what Android has always done, not a regression from the 1.41.14 branch.

Also, don't #include config.h which we don't generate (we pass what it
usually contains as -D parameters from Android.mk) anywhere.

Add a new Android.mk file for the quota library.

Change-Id: I162c6327fee5bd06261d9cdcc34bda10f04a6f21
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
gitignore
ebugfs/debugfs.c
ebugfs/dump.c
ebugfs/extent_inode.c
ebugfs/filefrag.c
ebugfs/htree.c
ebugfs/icheck.c
ebugfs/logdump.c
ebugfs/ls.c
ebugfs/lsdel.c
ebugfs/ncheck.c
ebugfs/set_fields.c
ebugfs/unused.c
ebugfs/util.c
ebugfs/zap.c
2fsck/Android.mk
2fsck/argv_parse.c
2fsck/badblocks.c
2fsck/crc32.c
2fsck/crc32table.h
2fsck/dict.c
2fsck/dirinfo.c
2fsck/dx_dirinfo.c
2fsck/e2fsck.c
2fsck/ea_refcount.c
2fsck/ehandler.c
2fsck/emptydir.c
2fsck/extend.c
2fsck/flushb.c
2fsck/iscan.c
2fsck/jfs_user.h
2fsck/journal.c
2fsck/logfile.c
2fsck/message.c
2fsck/mtrace.c
2fsck/pass1.c
2fsck/pass1b.c
2fsck/pass2.c
2fsck/pass3.c
2fsck/pass4.c
2fsck/pass5.c
2fsck/problem.c
2fsck/problem.h
2fsck/prof_err.c
2fsck/prof_err.h
2fsck/profile.c
2fsck/profile_helpers.c
2fsck/quota.c
2fsck/recovery.c
2fsck/region.c
2fsck/rehash.c
2fsck/revoke.c
2fsck/scantest.c
2fsck/sigcatcher.c
2fsck/super.c
2fsck/unix.c
2fsck/util.c
xt2ed/blockbitmap_com.c
xt2ed/dir_com.c
xt2ed/disk.c
xt2ed/ext2_com.c
xt2ed/file_com.c
xt2ed/general_com.c
xt2ed/group_com.c
xt2ed/init.c
xt2ed/inode_com.c
xt2ed/inodebitmap_com.c
xt2ed/main.c
xt2ed/super_com.c
xt2ed/win.c
ib/blkid/blkid.h
ib/blkid/blkid_types.h
ib/blkid/cache.c
ib/blkid/dev.c
ib/blkid/devname.c
ib/blkid/devno.c
ib/blkid/getsize.c
ib/blkid/llseek.c
ib/blkid/probe.c
ib/blkid/read.c
ib/blkid/resolve.c
ib/blkid/save.c
ib/blkid/tag.c
ib/blkid/tst_types.c
ib/blkid/version.c
ib/e2p/feature.c
ib/e2p/fgetflags.c
ib/e2p/fgetversion.c
ib/e2p/fsetflags.c
ib/e2p/fsetversion.c
ib/e2p/getflags.c
ib/e2p/getversion.c
ib/e2p/hashstr.c
ib/e2p/iod.c
ib/e2p/ls.c
ib/e2p/mntopts.c
ib/e2p/ostype.c
ib/e2p/parse_num.c
ib/e2p/pe.c
ib/e2p/percent.c
ib/e2p/pf.c
ib/e2p/ps.c
ib/e2p/setflags.c
ib/e2p/setversion.c
ib/e2p/uuid.c
ib/et/com_err.c
ib/et/com_right.c
ib/et/error_message.c
ib/et/et_name.c
ib/et/init_et.c
ib/et/vfprintf.c
ib/ext2fs/Android.mk
ib/ext2fs/alloc.c
ib/ext2fs/alloc_sb.c
ib/ext2fs/alloc_stats.c
ib/ext2fs/alloc_tables.c
ib/ext2fs/badblocks.c
ib/ext2fs/bb_compat.c
ib/ext2fs/bb_inode.c
ib/ext2fs/bitmaps.c
ib/ext2fs/bitops.c
ib/ext2fs/blkmap64_ba.c
ib/ext2fs/blknum.c
ib/ext2fs/block.c
ib/ext2fs/bmap.c
ib/ext2fs/bmove.c
ib/ext2fs/brel_ma.c
ib/ext2fs/check_desc.c
ib/ext2fs/closefs.c
ib/ext2fs/crc16.c
ib/ext2fs/crc32c.c
ib/ext2fs/csum.c
ib/ext2fs/dblist.c
ib/ext2fs/dblist_dir.c
ib/ext2fs/dir_iterate.c
ib/ext2fs/dirblock.c
ib/ext2fs/dirhash.c
ib/ext2fs/dosio.c
ib/ext2fs/dupfs.c
ib/ext2fs/expanddir.c
ib/ext2fs/ext2_err.c
ib/ext2fs/ext2_err.h
ib/ext2fs/ext2_types.h
ib/ext2fs/ext_attr.c
ib/ext2fs/extent.c
ib/ext2fs/fileio.c
ib/ext2fs/finddev.c
ib/ext2fs/flushb.c
ib/ext2fs/freefs.c
ib/ext2fs/gen_bitmap.c
ib/ext2fs/gen_bitmap64.c
ib/ext2fs/get_pathname.c
ib/ext2fs/getsectsize.c
ib/ext2fs/getsize.c
ib/ext2fs/i_block.c
ib/ext2fs/icount.c
ib/ext2fs/imager.c
ib/ext2fs/ind_block.c
ib/ext2fs/initialize.c
ib/ext2fs/inline.c
ib/ext2fs/inode.c
ib/ext2fs/inode_io.c
ib/ext2fs/io_manager.c
ib/ext2fs/irel_ma.c
ib/ext2fs/ismounted.c
ib/ext2fs/link.c
ib/ext2fs/llseek.c
ib/ext2fs/lookup.c
ib/ext2fs/mkdir.c
ib/ext2fs/mkjournal.c
ib/ext2fs/mmp.c
ib/ext2fs/namei.c
ib/ext2fs/native.c
ib/ext2fs/newdir.c
ib/ext2fs/nt_io.c
ib/ext2fs/openfs.c
ib/ext2fs/progress.c
ib/ext2fs/punch.c
ib/ext2fs/qcow2.c
ib/ext2fs/read_bb.c
ib/ext2fs/read_bb_file.c
ib/ext2fs/res_gdt.c
ib/ext2fs/rw_bitmaps.c
ib/ext2fs/swapfs.c
ib/ext2fs/symlink.c
ib/ext2fs/tdb.c
ib/ext2fs/tdbtool.c
ib/ext2fs/test_io.c
ib/ext2fs/tst_badblocks.c
ib/ext2fs/tst_bitmaps.c
ib/ext2fs/tst_bitops.c
ib/ext2fs/tst_byteswap.c
ib/ext2fs/tst_getsectsize.c
ib/ext2fs/tst_getsize.c
ib/ext2fs/tst_inode_size.c
ib/ext2fs/tst_iscan.c
ib/ext2fs/tst_super_size.c
ib/ext2fs/tst_types.c
ib/ext2fs/undo_io.c
ib/ext2fs/unix_io.c
ib/ext2fs/unlink.c
ib/ext2fs/valid_blk.c
ib/ext2fs/version.c
ib/ext2fs/write_bb_file.c
ib/fpopen.c
ib/quota/Android.mk
ib/quota/mkquota.c
ib/quota/quotaio.c
ib/quota/quotaio_tree.c
ib/quota/quotaio_v2.c
ib/ss/data.c
ib/ss/error.c
ib/ss/execute_cmd.c
ib/ss/get_readline.c
ib/ss/help.c
ib/ss/invocation.c
ib/ss/list_rqs.c
ib/ss/listen.c
ib/ss/pager.c
ib/ss/parse.c
ib/ss/prompt.c
ib/ss/request_tbl.c
ib/ss/requests.c
ib/ss/test_ss.c
ib/uuid/clear.c
ib/uuid/compare.c
ib/uuid/copy.c
ib/uuid/gen_uuid.c
ib/uuid/gen_uuid_nt.c
ib/uuid/isnull.c
ib/uuid/pack.c
ib/uuid/parse.c
ib/uuid/tst_uuid.c
ib/uuid/unpack.c
ib/uuid/unparse.c
ib/uuid/uuid.h
ib/uuid/uuid_time.c
ib/uuid/uuid_types.h
isc/badblocks.c
isc/base_device.c
isc/blkid.c
isc/chattr.c
isc/default_profile.c
isc/dumpe2fs.c
isc/e2freefrag.c
isc/e2image.c
isc/e2initrd_helper.c
isc/e2label.c
isc/e2undo.c
isc/e4defrag.c
isc/filefrag.c
isc/findsuper.c
isc/fsck.c
isc/ismounted.c
isc/logsave.c
isc/lsattr.c
isc/mke2fs.c
isc/mklost+found.c
isc/partinfo.c
isc/tune2fs.c
isc/util.c
isc/uuidd.c
isc/uuidgen.c
esize/extent.c
esize/main.c
esize/online.c
esize/resize2fs.c
esize/resource_track.c
esize/sim_progress.c
esize/test_extent.c
ests/progs/crcsum.c
ests/progs/hold_inode.c
ests/progs/random_exercise.c
ests/progs/test_icount.c
ests/progs/test_rel.c
5fe0b41dba699fa14432a633c863ea8cb7bf3f5d 31-Dec-2013 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Re-add Android makefiles from AOSP master

Change-Id: I6c6dbe11baa395442f4cf845ad39801f1c426129
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
ndroid.mk
leanSpec.mk
2fsck/Android.mk
ib/Android.mk
ib/blkid/Android.mk
ib/e2p/Android.mk
ib/et/Android.mk
ib/ext2fs/Android.mk
ib/uuid/Android.mk
isc/Android.mk
esize/Android.mk
036a84710dfe0d9b47cba835b8eba38a06a447ea 29-Dec-2013 Theodore Ts'o <tytso@mit.edu> Update release notes, etc., for final 1.42.9 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
EADME
ELEASE-NOTES
ebian/changelog
ebian/e2fslibs.symbols
oc/libext2fs.texinfo
2fsprogs.lsm
o/e2fsprogs.pot
ersion.h
7f196ef755ddaad78422c470c01b34c39373a3a6 29-Dec-2013 Trần Ngọc Quân <vnwildman@gmail.com> po: update vi.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/vi.gmo
o/vi.po
90ff6ed73f46c04b20c8fac41267991e8321cb14 29-Dec-2013 Volkan Gezer <vlkngzr@gmail.com> po: update tr.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/tr.gmo
o/tr.po
bf9227f27500c916f109dfc145aa8e4bc438dd0b 29-Dec-2013 Göran Uddeborg <goeran@uddeborg.se> po: update sv.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/sv.gmo
o/sv.po
ca9a0a7e3333adf6c54260eebb2356ac61645c87 29-Dec-2013 Jakub Bogusz <qboosh@pld-linux.org> po: update pl.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/pl.gmo
o/pl.po
d2cc8e1f928ab7d186f5dbabaf6a628345de54f7 29-Dec-2013 Benno Schulenberg <benno@vertaalt.nl> po: update nl.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/nl.gmo
o/nl.po
69e73088c4300d85730d588f7d8d7aaf93217704 29-Dec-2013 Samuel Thibault <samuel.thibault@ens-lyon.org> po: update fr.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/fr.gmo
o/fr.po
e9955e71644320d5725b20fc614104acea88f584 29-Dec-2013 Philipp Thomas <pth@suse.de> po: update de.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/de.gmo
13261f5180effa1affbcb8a12f7924b7932e1ebc 29-Dec-2013 Petr Pisar <petr.pisar@atlas.cz> po: update cs.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/cs.gmo
o/cs.po
1b2c78749cb3c9c27d9d01735455f49591b72153 29-Dec-2013 Walter Garcia-Fontes <walter.garcia@upf.edu> po: update ca.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/ca.gmo
o/ca.po
d05508956734d55f7ee286085a1f6570d11848b7 29-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2freefrag: avoid integer overflow when reporting free space statistics

An integer overflow could happen if the file system is large and has
very large contiguous chunks of free space.

Addresses-Debian-Bug: #718205

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2freefrag.c
2d8637b1506a5d6c8e8c584adf485b54ce0beafb 29-Dec-2013 Theodore Ts'o <tytso@mit.edu> debugfs: document the lsdel command in the man page

Addresses-Debian-Bug: #731329

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.8.in
9518b297277799e3893db1650c891310243596b1 28-Dec-2013 Theodore Ts'o <tytso@mit.edu> mke2fs: clarify documentation about bigalloc in the man page

Addresses-Debian-Bug: #669730

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.8.in
becb01ce84d6da8ec549f042055ac58648eebd44 28-Dec-2013 Theodore Ts'o <tytso@mit.edu> debian: fix cross build support

We need to explicitly specify the $DEB_BUILD_HOST when querying for
the version of the libblkid1 package.

Addresses-Debian-Bug: #721365

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/rules
886056bd393ed6a7cc81bd752933c91637738da7 28-Dec-2013 Theodore Ts'o <tytso@mit.edu> mke2fs: clarify the description of the -I option in the man page

Addresses-Debian-Bug: #698076

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.8.in
2929f9daedf2931b6619fa1bce369389be4300ae 28-Dec-2013 Theodore Ts'o <tytso@mit.edu> debian: update debian-policy conormance to 3.9.5

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/control.in
de3088402b4fb3973d7185030254a28461fa14f2 28-Dec-2013 Theodore Ts'o <tytso@mit.edu> gen-tarball: ignore all of the build* directories

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
til/all.exclude
til/subset.exclude
b79e338d2ca2d148164deff2129d33eac665ac6c 28-Dec-2013 Theodore Ts'o <tytso@mit.edu> Use makeinfo --html instead of texi2html

The texi2html utility from the texi2html ceased being developed
upstream in 2011, and upstream has declared it superseded by the
makeinfo utility from the texinfo package.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/comerr-dev.doc-base
ebian/control.in
ebian/e2fslibs-dev.doc-base
ebian/rules
oc/Makefile.in
oc/libext2fs.texinfo
ib/et/Makefile.in
ib/et/com_err.texinfo
c003f48b484cbbe3f285615dab629a46e8e072b9 27-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2image: Clarify e2image's usage message

Also reflect a similar change to e2image's man page.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.8.in
isc/e2image.c
c8ee0d60fd23a47f96253d7e575f1a9cf7e98577 27-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2image: write progress information to stderr

This allows "e2image -rp /dev/sdc1 - | bzip2 > sdc1.img.bz2" to work
correctly, so the progress information doesn't corrupt the image being
sent to stdout.

Also add a diagnostic indicating that the -p option is currently only
implemented for raw mode.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.c
212c99488343cbc52fab3368f72853a5a3ff2e8a 27-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2image: clean up progress reporting

The old progress reporting code would crash on small file systems.
For example:

cp /dev/null /tmp/foo.img
mke2fs -t ext4 -F /tmp/foo.img 100
e2image -o 0 -O 4096 -rap /tmp/foo.img

Fix this, and while we're at it, factor out the code to make it easier
to read and maintain.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.c
9f90b2e632ece3a78a53e170303b383ab944f284 26-Dec-2013 Theodore Ts'o <tytso@mit.edu> tests: fix stray newline printed when running r_min_itable

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/r_min_itable/expect
ests/r_min_itable/script
7fcaabf8e80031b9919128c7cb8a86fdbcacb8f4 26-Dec-2013 Theodore Ts'o <tytso@mit.edu> dumpe2fs: don't try to print the journal info when using image files

If dumpe2fs tries to print journal info when using an image file
created using e2image, it will crash since the journal isn't
available. So don't even try to print it.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/dumpe2fs.c
737a88673d709d5b1375d589f790367121a59a42 26-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2image: make sure all strings are marked for internationalization

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.c
0155e770218961f1ab0b39851e1fb4e832ff713d 26-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2image: add -n option to show what blocks would have been written

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.8.in
isc/e2image.c
38c771d6dd523779b7266e8df359e0f7811a6d53 25-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2image: add -c option to optimize file system copying for flash devices

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.8.in
isc/e2image.c
aa2c743331f392e49d5b168b5e3d8c8a8084b8b4 25-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2image: only skip writing zero blocks when writing to a new file

The e2image progam was originally intended to create image files.
However, some people have started using e2image to copy a file system
from one block device to another, since it is more efficient than
using dd because it only copies the blocks which are in use. If we
are doing this, however, we must not skip writing blocks which are all
zero in the source device, since they may not be zero in the
destination device.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Phillip Susi <psusi@ubuntu.com>
ib/ext2fs/e2image.h
isc/e2image.c
d28759b22388404561cea092855e4daca3781358 25-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2image: clean up gcc -Wall and sparse nits

Fix up the gcc -Wall and sparse nits introduced by Phillip Susi's
e2image patches.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Phillip Susi <psusi@ubuntu.com>
isc/e2image.c
80fe25a2d7d8461ac17b21659885f1b4ec6fecd7 25-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2image: refactor calls to ext2fs_llseek()

Refactor calls to ext2fs_llseek(). This makes the code more compact,
easier to read, and it also fixes a number of places where we call
ext2fs_llseek() without doing proper error checking.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.c
ecc859b2819cd8772ba660b9229489378e541838 25-Dec-2013 Phillip Susi <psusi@ubuntu.com> e2image: handle SIGINT safely

When doing an in place move, interrupting it past the
point of no return will destroy the filesystem since
parts of it have been overwritten. Catch SIGINT the
first time and issue a warning if this is the case.

Signed-off-by: Phillip Susi <psusi@ubuntu.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.c
c40c7ceffe5ca88ec43b853e4a908f1cbb8c0f15 08-Oct-2013 Phillip Susi <psusi@ubuntu.com> e2image: add progress indicator

When given the -p switch, print progress information, including
block counts, percentage complete, estimated time remaining, and
throughput.

Signed-off-by: Phillip Susi <psusi@ubuntu.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.8.in
isc/e2image.c
22b83f628080088fb901b1d001ed47f0de64cd93 16-Dec-2013 Phillip Susi <psusi@ubuntu.com> e2image: perform in-place move

If given at least one offset and only one file, assume source
and dest are the same, and do an in place move.

Signed-off-by: Phillip Susi <psusi@ubuntu.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.8.in
isc/e2image.c
ests/i_e2image/script
6b5535f40974d522e827c83d02d005ac5c8b5056 16-Dec-2013 Phillip Susi <psusi@ubuntu.com> e2image: add offset switches

Add -o and -O switches to specify the offset where the source
and destination filesystems start. This is useful if you have
an image of a partitioned disk or wish to create one.

Signed-off-by: Phillip Susi <psusi@ubuntu.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.8.in
isc/e2image.c
b3c2a638139b5da7f63f7ebe450860918d297a39 25-Dec-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: checksum bg descriptors larger than 64 bytes

Currently the ext4 block group descriptor is 64 bytes. In case we
need to support larger block group descriptors in the future, teach
ext2fs_group_desc_csum() to checksum parts of the block group
descriptors that libext2fs doesn't yet understand.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/csum.c
aafd3615509282a6cf1296782c7a5b25b5e94278 25-Dec-2013 Theodore Ts'o <tytso@mit.edu> tests: use the in-tree binaries in the test f_extent_oobounds

Fix the f_extent_oobounds test so that it uses binaries built in the
tree, instead of the binaries in the system PATH (which might not
exist in a chroot environment) when creating the test image.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/f_extent_oobounds/script
45f143c20cb415cb205e7415b563ef66efa9591e 25-Dec-2013 Theodore Ts'o <tytso@mit.edu> debugfs: fix extent header in do_write for big-endian machines

Commit a17e9f30 set up the extent header for a new file.
Unfortunately it didn't correctly handle byte swapping; fix this so
the regression tests pass on PowerPC systems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Eric Sandeen <sandeen@redhat.com>
ebugfs/debugfs.c
3c22bf7e70c5ed2e525220ef4453d029a403fa33 24-Dec-2013 Theodore Ts'o <tytso@mit.edu> Add ext4 man page and update and clean up the other man pages

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.8.in
isc/Makefile.in
isc/dumpe2fs.8.in
isc/ext4.5.in
isc/mke2fs.8.in
isc/tune2fs.8.in
32541fe4f90e59597f7721967153e9641c5f8dce 24-Dec-2013 Eric Whitney <enwlinux@gmail.com> debugfs: silence build warning and remove incorrect error message

Commit fe56188b07 modified the code used to check the block number
argument to the command line -s switch, adding a call to com_err().
This causes a compile time warning because the third argument to
com_err() isn't a string. Also, when the block number argument is
bad it outputs an incorrect error message - "Operation not permitted".

Fix these minor problems by removing the call to com_err(). Other
code provides enough error reporting information in this case.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.c
a8263cab57e57fa85ca2c281fe97554eb97441f1 24-Dec-2013 Eric Whitney <enwlinux@gmail.com> e2fsck: fix printf conversion specs in ea_refcount.c

Commit 130e961a6fb9d38997c83c6397cf9ddb5ed2491f changed the type
used to represent block numbers in ea_refcount.c from blk_t to blk64_t
to add support for 64 bit extended attribute refcounting. We also
need to adjust printf conversion specs that now don't match their new
blk64_t arguments. This will silence compiler warnings seen when
"make check" is run and will avoid truncation of printed values.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/ea_refcount.c
b769aaec1aa7c03dd7413c5248eaa48b2aae8e7f 23-Dec-2013 Andreas Dilger <adilger@dilger.ca> mke2fs: further updates for mke2fs(8) man page

The mke2fs(8) man page was updated in 4727c67dc2, but needs some
more clear descriptions for extra_isize and metadta_csum features.
The uninit_bg feature is supported by all ext4-capable kernels,
and does have a slow e2fsck pass for newly-formatted filesystems,
so remove the caveat.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.8.in
2bc30417541deffca795db8ec4e7f7ccb616dc3f 23-Dec-2013 Andreas Dilger <adilger@dilger.ca> debugfs, e2fsck: fix s_desc_size handling

The s_desc_size in the superblock specifies the group descriptor
size in bytes, but in various places the EXT4_FEATURE_INCOMPAT_64BIT
flag implies that the descriptor size is EXT2_MIN_DESC_SIZE_64BIT
(64 bytes) instead of checking the actual size. In other places,
the s_desc_size field is used without checking for INCOMPAT_64BIT.

In the case of ext2fs_group_desc() the s_desc_size was being ignored,
and assumed to be sizeof(struct ext4_group_desc), which would result
in garbage for any but the first group descriptor. Similarly, in
ext2fs_group_desc_csum() and print_csum() they assumed that the
maximum group descriptor size was sizeof(struct ext4_group_desc).
Fix these functions to use the actual superblock s_desc_size if
INCOMPAT_64BIT.

Conversely, in ext2fs_swap_group_desc2() s_desc_size was used
without checking for INCOMPAT_64BIT being set.

The e2fsprogs behaviour is different than that of the kernel,
which always checks INCOMPAT_64BIT, and only uses s_desc_size to
determine the offset of group descriptors and what range of bytes
to checksum.

Allow specifying the s_desc_size field at mke2fs time with the
"-E desc_size=NNN" option. Allow a power-of-two s_desc_size
value up to s_blocksize if INCOMPAT_64BIT is specified. This
is not expected to be used by regular users at this time, so it
is not currently documented in the mke2fs usage or man page.

Add m_desc_size_128, f_desc_size_128, and f_desc_bad test cases to
verify mke2fs and e2fsck handling of larger group descriptor sizes.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/set_fields.c
2fsck/iscan.c
ib/ext2fs/blknum.c
ib/ext2fs/csum.c
ib/ext2fs/initialize.c
ib/ext2fs/swapfs.c
isc/mke2fs.c
ests/f_desc_size_128/expect.1
ests/f_desc_size_128/expect.2
ests/f_desc_size_128/image.gz
ests/f_desc_size_128/name
ests/f_desc_size_bad/expect.1
ests/f_desc_size_bad/expect.2
ests/f_desc_size_bad/script
ests/m_desc_size_128/expect.1
ests/m_desc_size_128/script
11d1116a7c0b833af317249d12025413fecbcd70 23-Dec-2013 Andreas Dilger <adilger@dilger.ca> e2fsck: verify s_desc_size is power-of-two value

Add a LOG2_CHECK mode for check_super_value() so that it is easy
to verify values that are supposed to be power-of-two values
(s_desc_size and s_inode_size so far). In ext2fs_check_desc()
also check for a power-of-two s_desc_size.

Print out s_desc_size in debugfs "stats" and dumpe2fs output, if
it is non-zero.

It turns out that the s_desc_size validation in check_super_block()
is not currently used by e2fsck, because the group descriptors are
verified earlier by ext2fs_check_desc(), and even without an
explicit check of s_desc_size the group descriptors fail to align
correctly on disk. It makes sense to keep the check_super_block()
regardless, in case the code changes at some point in the future.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/super.c
ib/e2p/ls.c
ib/ext2fs/check_desc.c
ib/ext2fs/closefs.c
ib/ext2fs/ext2_fs.h
fd5e00e1d0113fdbf28a546d8dff0366fb3c9a4f 23-Dec-2013 Andreas Dilger <adilger@dilger.ca> tests: delete temporary resize test files

Since commit 5ad07acad if $TMP cannot hold large test filesystems
for resize testing the resize_test creates temporary test files
in the local working directory. Since it overrides TMPFILE locally
the calling program does not delete the generated file correctly.

Delete the large $TMPFILE within resize_test if it passes, but leave
it for debugging if the test failed.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/scripts/resize_test
e9a8c0c2d46a46c01c6a6daa5db14df72a7ad6aa 19-Dec-2013 Johan Erlandsson <johan.erlandsson@sonyericsson.com> e2fsck: read only parameter incorrectly compared

Don't check for lost+found in read only mode.

[Note: this patch was originally made against 1.41.14 version of
e2fsprogs found as part of the AOSP (Android Open Source Program)
tree. My Signed-off-by relies on the fact that the original patch
author would have had to have filed a contribution agreement with Open
Handset Alliance before this commit before this commit was allowed
into the AOSP tree. -- tytso]

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass3.c
5643a262528975a398a35397326441f072b75d64 19-Dec-2013 Elliott Hughes <enh@google.com> Merge "e2fsck: read only parameter incorrectly compared"
ceb9bb7289d74caf3453160044f16e79cf55b950 02-Aug-2012 Johan Erlandsson <johan.erlandsson@sonyericsson.com> e2fsck: read only parameter incorrectly compared

Don't check for lost+found in read only mode.

Change-Id: Ib5861f615b60cf5d0836af73539dd53c70638de5
2fsck/pass3.c
f404167dda29a59d2be2882328aeb074b9899669 17-Dec-2013 Theodore Ts'o <tytso@mit.edu> Clean up sparse warnings

Mostly by adding static and removing excess extern qualifiers. Also
convert a few remaining non-ANSI function declarations to ANSI.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.h
ebugfs/extent_inode.c
ebugfs/logdump.c
ebugfs/util.c
2fsck/dirinfo.c
2fsck/e2fsck.c
2fsck/pass1.c
2fsck/pass2.c
2fsck/unix.c
2fsck/util.c
ib/et/com_err.c
ib/et/error_message.c
ib/et/error_table.h
ib/et/et_name.c
ib/ext2fs/Makefile.in
ib/ext2fs/bmap.c
ib/ext2fs/dblist.c
ib/ext2fs/dir_iterate.c
ib/ext2fs/extent.c
ib/ext2fs/fileio.c
ib/ext2fs/mmp.c
ib/ext2fs/punch.c
ib/ss/error.c
ib/ss/execute_cmd.c
ib/ss/help.c
ib/ss/invocation.c
ib/ss/pager.c
ib/ss/parse.c
ib/ss/request_tbl.c
ib/ss/ss_internal.h
isc/badblocks.c
isc/dumpe2fs.c
isc/e2image.c
isc/e2initrd_helper.c
isc/e2undo.c
isc/e4defrag.c
isc/fsck.c
isc/logsave.c
isc/mke2fs.c
esize/main.c
esize/resize2fs.c
esize/resize2fs.h
til/subst.c
4727c67dc20f0c15cc8502b9bc3ee9f73d7e2c3a 16-Dec-2013 Uri Corin <uri.corin@gmail.com> e2fsprogs: mke2fs manpage updates

I've added documentation for all available filesystem features
settable by mke2fs.
* Features now include the kernel constant attached to the function.
* Some pre-existing feature explanations have been expanded based on
ext4.wiki.kernel.org.

[ Edited by tytso for stylistic and correctness. ]

Addresses-Debian-Bug: #586218

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/mke2fs.8.in
fbabd5c44c2303501ad79b0e0386fe6436e0e147 16-Dec-2013 Kazuya Mio <k-mio@sx.jp.nec.com> mke2fs: disallow creating FS on a loop mounted file with no option

When /etc/mtab is a symlink of /proc/mounts, mke2fs without -FF option
can create a filesystem on the image file that is mounted.
According to mke2fs man page, we should specify -FF option in this case.

This patch protects filesystem from unintended mke2fs caused by human error.

How to reproduce:
# mke2fs -t ext4 -Fq fs.img
# mount -o loop fs.img /mnt/mp1
# mke2fs -t ext4 -Fq fs.img && echo "mke2fs success"
mke2fs success

Signed-off-by: Kazuya Mio <k-mio@sx.jp.nec.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure
onfigure.in
ib/ext2fs/ismounted.c
82896cbe0e83fc084abbe1ae2f043d2ec9058963 16-Dec-2013 Kazuya Mio <k-mio@sx.jp.nec.com> mke2fs: fix force option to create filesystem on mounted device

According to mke2fs man, we can create a filesystem on the mounted
device when -FF option is specified.

However, currently we have to specify -F option third to force mke2fs.
This patch fixes the problem.

Signed-off-by: Kazuya Mio <k-mio@sx.jp.nec.com>
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/util.c
0047255f602ae725a37f24c9b3214a1400459a20 16-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsck: try implied cluster allocation when expanding a dir

When we're expanding a directory, check to see if we're doing an
implied cluster allocation; if so, we don't need to allocate a new
block, and we certainly don't need to update the summary counts.

Reported-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass3.c
69beadcfb285cb5ee254d7f53c64a3f0dc42e229 16-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsck: print cluster ranges when encountering bitmap errors

If pass5 finds bitmap errors in a range of clusters, don't print each
cluster number individually when we could print only the start and end
cluster number. e2fsck already does this for the non-bigalloc case.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass5.c
5797cb017cb8accbab8c69aaf83269c5d2d72e4e 11-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsck: only release clusters when shortening a directory during a rehash

When the rehash process is running on a bigalloc filesystem, it
compresses all the directory entries and hash structures into the
beginning of the directory file and then uses block_iterate3() to free
the blocks off the end of the file. It seems to call
ext2fs_block_alloc_stats2() for every block in a cluster, which is
unfortunate because this function allocates and frees entire clusters
(and updates the summary counts accordingly). In this case e2fsck
writes out incorrect summary counts.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/rehash.c
230272c15a71edfd53bc805adf560d0386dddff3 16-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: don't update the summary counts when doing implied cluster allocation

When we're appending a block to a directory file or the journal file,
and the new block is part of a cluster that has already been allocated
to the file (implied cluster allocation), don't update the bitmap or
the summary counts because that was performed when the cluster was
allocated.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/expanddir.c
ib/ext2fs/mkjournal.c
84397754250d13e8596dd68c157c4c9863800079 16-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: only punch complete clusters

When bigalloc is enabled, using ext2fs_block_alloc_stats2() to free
any block in a cluster has the effect of freeing the entire cluster.
This is problematic if a caller instructs us to punch, say, blocks
12-15 of a 16-block cluster, because blocks 0-11 now point to a "free"
cluster.

The naive way to solve this problem is to see if any of the other
blocks in this logical cluster map to a physical cluster. If so, then
we know that the cluster is still in use and it mustn't be freed.
Otherwise, we are punching the last mapped block in this cluster, so
we can free the cluster.

The implementation given only does the rigorous checks for the partial
clusters at the beginning and end of the punching range.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/bmap.c
ib/ext2fs/ext2fs.h
ib/ext2fs/punch.c
eaf4403561c5822d3cdcc93092039d49d1c0375e 16-Dec-2013 Andreas Dilger <adilger@dilger.ca> ext2fs,blkid: delete unused LIST_HEAD() macro

The LIST_HEAD() macro conflicts with the <sys/queue.h> declaration
of the same name. Delete the unused LIST_HEAD() macro from the
libext2fs and libblkid headers to avoid compiler warnings. It can
be replaced by INIT_LIST_HEAD() or LIST_HEAD_INIT() if needed.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/blkid/list.h
ib/ext2fs/kernel-list.h
269da3b8068ecb0bdf8077b0f7b27f164203cb35 16-Dec-2013 Andreas Dilger <adilger@dilger.ca> ext2fs: quiet compiler warnings

Include ext2fsP.h in fileio.c for ext2fs_file_block_offset_too_big()
declaration. Fix up the declaration to mark it extern in the header.

Include <strings.h> header for strcasecmp() in tune2fs.c if available,
as described in the strcasecmp(3) man page, instead of doing this
indirectly by declaring _BSD_SOURCE and getting it from <string.h>.

If CONFIG_QUOTA is undefined, parse_quota_opts() is unused in
tune2fs.c so #ifdef it out.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ext2fsP.h
ib/ext2fs/fileio.c
isc/tune2fs.c
dba2bbdfea74b482d4f3b6a3813a71c2358e57d6 16-Dec-2013 Andreas Dilger <adilger@dilger.ca> debugfs: clean up debugfs man page and help text

Clean up the formatting of the debugfs(8) man page:
- add command aliases to the main descriptions
- use bold for sub-commands and italics for their arguments
- remove trailing spaces
- add "dirty" sub-command
- clarify "block_dump" and "zap_block" sub-commands

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.8.in
ebugfs/lsdel.c
ebugfs/zap.c
45ff69ffeb700012a7c052f5e45882557a40be7e 16-Dec-2013 Andreas Dilger <adilger@dilger.ca> build: quiet LLVM non-literal string format warning

Compiling with LLVM generates a large number of warnings due
to the use of _() for wrapping strings for i18n:

warning: format string is not a string literal
(potentially insecure) [-Wformat-security]
./nls-enable.h:4:14: note: expanded from macro '_'
#define _(a) (gettext (a))
^~~~~~~~~~~~

These warnings are fixed by using "%s" as the format string,
and then _() is used as the string argument.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/badblocks.c
2fsck/journal.c
2fsck/pass1b.c
2fsck/unix.c
2fsck/util.c
ib/blkid/getsize.c
isc/badblocks.c
isc/chattr.c
isc/dumpe2fs.c
isc/e2image.c
isc/e2undo.c
isc/mke2fs.c
isc/mklost+found.c
isc/tune2fs.c
isc/uuidd.c
esize/main.c
esize/resize2fs.c
3a941bef3b9036ca3db9d510c71bcae801ea4dd1 16-Dec-2013 Andreas Dilger <adilger@dilger.ca> build: use long long for __u64 by default

Don't print a verbose configure error in parse-types.h if
<asm/types.h> missing and __[SU]*_TYPEDEF is unset. This is
always the case for non-Linux builds.

The printf formatting strings all use "%llu" for printing 64-bit
values and this it produces a large number of warnings if __u64
is defined as "unsigned long". If __U64_TYPEDEF isn't set use
"unsigned long long" for __u64 in ext2-types.h and blkid-types.h
by default instead of using "unsigned long".

Fix a few places where "%d" or "%u" or "%Lu" were used to print a
64-bit value, by converting them to use "%lld" or "%llu" instead.

Fix a few places where "%lu" was used to print .tv_usec, by casting
the variable to "(long)" since .tv_usec is "int" on some systems.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
gitignore
onfig/parse-types.sh
ib/blkid/blkid_types.h.in
ib/ext2fs/ext2_types.h.in
ib/uuid/gen_uuid.c
ib/uuid/tst_uuid.c
ib/uuid/uuid_time.c
isc/findsuper.c
o/cs.po
o/es.po
o/fr.po
o/it.po
o/tr.po
66457fcb842300e757a69c49c2eb4d8e335be34c 15-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> tune2fs: forbid changing uuid on an uninit_bg filesystem

The old uninit_bg checksums depend on the UUID, so prohibit changes to
the UUID if a checksumming filesystem is mounted, because this
introduces a nasty race where the kernel and tune2fs are both trying
to rewrite group descriptors at the same time, with different ideas
about what the UUID is.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/tune2fs.c
a9825cfe945e6dc6e300f89e7e613b80afde0189 15-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: use ext2fs_punch() to truncate quota file

Use the new ext2fs_punch() call to truncate the quota file. This also
eliminates the need to fix it to work with bigalloc.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/quota/quotaio.c
4c6fd9c20a3473db3fe419d613244e26c4a92b7b 15-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: clamp block-map punch range end to 2^32 blocks

In the ^extent case, passing ~0ULL as the 'end' parameter to
ext2fs_punch() causes the (end - start + 1) calculation to overflow to
zero. Since the old-style mapped block files cannot have more than
2^32 blocks, just clamp it to ~0U.

This fixes a regression in t_quota_2off with the patch "libext2fs: use
ext2fs_punch() to truncate quota file" applied.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/punch.c
299cc61755f72311df002cc99dae13f469e0a198 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: zero block contents past EOF when setting size

When we set the file size, find the block containing EOF, and zero
everything in that block past EOF so that we can't return stale data
if we ever use fallocate or truncate to lengthen the file.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/fileio.c
4b58df1a53f517d700d921714610d1cec524dc92 11-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsck: in rehash, mark newly allocated extent blocks as found

When we're rehashing directories, it's possible that an extent block
(or a map block) could be (silently) allocated by the underlying
libext2fs when expanding the directory. This silent allocation is not
captured in block_found_map, which is disastrous if later the rehash
process expands another directory and uses that same block from
before without realizing that it's now in use.

Therefore, if we notice that the free block count has dropped by more
than what e2fsck allocated itself during the expansion, we iterate the
directory's blocks a second time to ensure that these silent
allocations are marked in the found blocks bitmap.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass3.c
042a0f52ec79e448fd798df7757c6addeb00aede 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: don't error out when punching a totally sparse file

If we're asked to punch a file with no data blocks mapped to it and a
non-zero length, we don't need to do any work in ext2fs_punch_extent()
and can return success. Unfortunately, the extent_get() function
returns "no current node" because it (correctly) failed to find any
extents, which is bubbled up to callers. Since no extents being found
is not an error in this corner case, fix up ext2fs_punch_extent() to
return 0 to callers.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/punch.c
dc9673abcf8e00f2b2e6e346b6312ef3745ac543 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fix punching extents when there are no left extents

When deleting an entire extent, we cannot always slip to the previous
leaf extent because there might not /be/ a previous extent.
Attempting to correct for that error by asking for the 'current' leaf
extent also doesn't work, because the failed attempt to change to the
previous extent leaves us with no current extent.

Fix this problem by recording the lblk of the next extent before
deleting the current extent and _goto()ing to the next extent after
the deletion.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/punch.c
8a86bbb19714c135aef07095d0b3c1d7e4f7a155 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fail fileio write if we can't allocate a block

If we're using ext2fs_file_write() to write to a hole in a file,
ensure that we can actually allocate the block before updating i_size.
In other words, don't update i_size and don't return success if we hit
an error while allocating space.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/fileio.c
13b48a0ae1b4556fdddbc3742022137302498300 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fix a broken close() test

Zero is a valid file descriptor, so close it.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/mkjournal.c
6a26b38ac46a0489bd477832dcaebd276c2f489b 11-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fix memory leaks (on error paths)

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/gen_bitmap64.c
ib/ext2fs/mkjournal.c
ib/ext2fs/newdir.c
ib/ext2fs/qcow2.c
8d74ab767d0f97258fed40f2f2d862227545bcea 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: check return values

Fix up a few places where we ignore return values.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/flushb.c
ib/ext2fs/icount.c
ib/ext2fs/imager.c
ib/ext2fs/mkjournal.c
ib/ext2fs/punch.c
b2778bcb8c37705ea97fee58199446d83dbda927 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libquota: fix memory leak (on error path)

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/quota/mkquota.c
e46c187aa6ee1ad6f38f0fb9c39da5e2bb6ceeb9 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libss: fix memory handling errors

Fix memory allocation calculations and check for NULL pointer returns.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ss/invocation.c
ib/ss/parse.c
ib/ss/request_tbl.c
dc9da630d6f3d6c7284df97f5015e32329da3307 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libss: fix fd error handling

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ss/help.c
ib/ss/list_rqs.c
6908c0c391af248854b892737c92a7a678a24f66 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> dumpe2fs: check return values

Check the return values from ext2fs_get_block_bitmap_range2(); if an
error happened, print that and don't print garbage bitmap.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/dumpe2fs.c
b3993825860a3c89fe2e66ab74dc59ab65be99c9 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> e2image: check return value from check_if_mounted()

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.c
b1667425f8cd8b3c3d6b205ac9f3dee2e085058c 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> e4defrag: defensively check results of sysconf(_SC_PAGESIZE)

sysconf(_SC_PAGESIZE) will probably never return an error, but just in
case it does, we shouldn't pass what looks like a huge number to
sync_file_range() and posix_fadvise().

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e4defrag.c
e661d2815194d6db3f3e38223277569ad55bb420 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> e4defrag: don't crash if umounts the filesystem races with us

If someone umounts the filesystem between statfs64() and the getmntent()
iteration, we can exit the loop having never set mnt_type, and strcmp
can crash. Fix the potential NULL dereference.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e4defrag.c
80a1806d617fdb14421ac6ac50a640ac1fd303b3 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> mke2fs: don't leak memory (on error path)

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
e39082e2e81641eb8021eb6ddc969731537c79a8 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> misc: don't leak file descriptors (on error paths)

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.c
isc/filefrag.c
esize/online.c
f0131bdc6ff2b349e84e4767d9fe8b078a0ee521 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsck: fix memory leaks (on error path)

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/journal.c
2fsck/pass3.c
2fsck/profile.c
2fsck/unix.c
85b8f7affa5fadb1972e82e04cc3d1828966b238 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> debugfs: don't leak mmp_s memory (on error path)

ext2fs_free_mem() takes a pointer to a pointer, similar to
ext2fs_get_mem(). Improve the documentation, and fix debugfs.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/set_fields.c
ib/ext2fs/ext2fs.h
ddbe78528f664a43c447e5ffeb0b89fe9fed515d 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> debugfs: don't leak fd when calling dump_file

The caller of dump_file provides a fd to write to, so the caller
should also dispose of the fd. Also, the fd never gets closed if
preserve=1.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/dump.c
56fa48879641603f2a3814fbe130ab2a29dcf411 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fileio should use 64bit io routines

When reading or writing file blocks, use the IO manager routines that
can handle 64bit block numbers.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/fileio.c
fe56188b07668758c28912b6eaf31abb498a9e82 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> debugfs: handle 64bit block numbers

debugfs should use strtoull wrappers for reading block numbers from
the command line. "unsigned long" isn't wide enough to handle block
numbers on 32bit platforms.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.c
ebugfs/extent_inode.c
ebugfs/util.c
62f17f36031102a2a40fac338e063c556f73b94a 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: make symlinks safe for 64bit blocks and extents

If we have to create a big symlink (i.e. one that doesn't fit into
i_block[]), we are not 64bit block safe and the namei code does not
handle extents at all. Fix both.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/namei.c
ib/ext2fs/symlink.c
50295a3f9e40894316301bebcc7247e9ec85f506 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> debugfs: fix various minor bogosity

We should really use the ext2fs memory allocator functions in
copy_file(), and we really should return a value if there's allocation
problems.

Also fix up a minor bogosity in an error message.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Cc: Robert Yang <liezhi.yang@windriver.com>
Cc: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.c
ba0230f885af90185d00e7e3702e35c656b47ea1 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fix "a" vs "an" in the error catalog

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ext2_err.et.in
o/ca.po
o/cs.po
o/de.po
o/e2fsprogs.pot
o/es.po
o/fr.po
o/id.po
o/it.po
o/nl.po
o/pl.po
o/sv.po
o/tr.po
o/vi.po
o/zh_CN.po
1e7451493ed67ae94ba5c1d2bed059527bc9848d 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: don't allow ridiculously large logical block numbers

Forbid clients from trying to map logical block numbers that are
larger than the lblk->pblk data structures are capable of handling.
While we're at it, don't let clients set the file size to a number
that's beyond what can be mapped.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/bmap.c
ib/ext2fs/ext2fsP.h
ib/ext2fs/fileio.c
57d4fb66d237fd8b734d2aa6b13502fac9c6e5a3 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> debugfs: fix init_filesys help text

The help text for debugfs' init_filesys command is incorrect; the
second parameter is the size of the filesystem in blocks, not the size
of an individual filesystem block. There is in fact no way to set
that parameter.

Reported-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.c
d20403df479efb35966470920c9a5cda581126d0 11-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> mke2fs: load configfile blocksize setting before 64bit checks

mke2fs has a series of checks to ensure that we don't create a
filesystem too big for its blocksize -- if auto-64bit is on, then it
turns on 64bit; otherwise it complains. Unfortunately, it performs
these checks before looking in mke2fs.conf for a blocksize, which
means that the checks are incorrect if the user specifies a non-4096
blocksize in the config file and says nothing on the command line.
The bug also has the effect of mandating a 4k block size on any block
device larger than 4T in that situation. Therefore, read the block
size from the config file before performing the 64bit checks.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
3b6c0938ec5aa401c7ae6c95e94e5ad30a7b8562 11-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fix tests that set LARGE_FILE

For each site where we test for a large file (> 2GB) and set the
LARGE_FILE feature, use a helper function to make the size test
consistent with the test that's in e2fsck. This fixes the fsck
complaints when we try to create a 2GB journal (not so hard with 64k
block size) and fixes the incorrect test in fileio.c.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass1.c
2fsck/pass2.c
ib/ext2fs/ext2fs.h
ib/ext2fs/fileio.c
ib/ext2fs/mkjournal.c
341bc5e368f7a768482f041971fb3c4b156d6ed9 12-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: don't overflow when punching indirect blocks with large blocks

On a FS with a rather large blockize (> 4K), the old block map
structure can construct a fat enough "tree" (or whatever we call that
lopsided thing) that (at least in theory) one could create mappings
for logical blocks higher than 32 bits. In practice this doesn't
happen, but the 'max' and 'iter' variables that the punch helpers use
will overflow because the BLOCK_SIZE_BITS shifts are too large to fit
a 32-bit variable. The current variable declarations also cause punch
to fail on TIND-mapped blocks even if the file is < 16T. So enlarge
the fields to fit.

Yes, this is an obscure corner case, but it seems a little silly if we
can't punch a file's block 300,000,000 on a 64k-block filesystem.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/punch.c
487c9e3016aeccaf87fcc69bb1aa5eb43e8297fb 12-Dec-2013 Andreas Dilger <andreas.dilger@intel.com> e2fsck: fix problem comments to match actual message

Fix the e2fsck problem comments to match the actual message printed,
so that it is possible to find the problem code when searching by
the message.

Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/problem.c
26cbfab68c2f063bf2df5cdf361437e86abc47a3 11-Dec-2013 Theodore Ts'o <tytso@mit.edu> Update config.{guess,sub} to the latest version

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfig/config.guess
onfig/config.sub
5093775ab446d375ea753218c364be31cf82f3cc 09-Dec-2013 Zheng Liu <wenqing.lz@taobao.com> debugfs: update usage message for open and filefrag

The ussage message for the open and filefrag commands were missing
options; this commit fixes this.

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.c
ebugfs/filefrag.c
a9b23fc99da8c8918cb5fb8dcd1732edb70ad382 05-Dec-2013 Lev Solomonov <solo@primarydata.com> debugfs: fix range mode of freei

commit 2ae5d1fdb82b31bf270c4699c59a087c846db2f0 was supposed to teach
'seti' and 'freei' to act on a range of consecutive inodes. apparently
only 'seti' has learned: 'freei' doesn't advance the ino, repeatedly
acting on the same one instead.

Signed-off-by: Lev Solomonov <solo@primarydata.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.c
2fe2d408a4e231eb5d2342b7f3dbd155563aa755 04-Dec-2013 Andreas Dilger <adilger@dilger.ca> mmp: fix 64-bit handling of s_mmp_block

Fix the checking of s_mmp_block in e2fsck_pass1() and
ext2fs_mmp_read() to handle the high 32 bits of s_blocks_count.
Remove redundant check of s_mmp_block in do_dump_mmp() right before
ext2fs_mmp_read() is called.

Also fix s_blocks_count_hi in check_backup_super_block(), since it
cannot use the ext2fs_blocks_count() helper easily.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.c
2fsck/pass1.c
2fsck/super.c
ib/ext2fs/mmp.c
17abb05f515d72c78667108a95c904ef65bcc6aa 03-Dec-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fix function declarations to match definition

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ext2fs.h
5ad07acadcc522d4963c43ab094f9e5bb7508bfa 03-Dec-2013 Andreas Dilger <adilger@dilger.ca> tests: check backing filesystem can handle large file

The new resize tests create 2TB test files, but tmpfs in kernels
before 3.1 have a max file size of 256GB. Ext3 may also have
a size limit for smaller blocksize filesystems.

Fix the resize_test script to verify that $TMPFILE can be resized
to the final test size, and if that fails try creating the file on
the local filesystem instead of in $TMPDIR. If that cannot hold
the large filesystem, skip the test.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Tested-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ests/r_64bit_big_expand/script
ests/r_bigalloc_big_expand/script
ests/r_ext4_big_expand/script
ests/scripts/resize_test
144f4e8ca511ef699570bc0426d5969d2b903d77 03-Dec-2013 Eric Whitney <enwlinux@gmail.com> libext2fs: fix printf conversion spec in tst_iscan.c

A recent patch to fix blk_t to blk64_t assignment mismatches in
e2fsprogs (commit 4dbfd79d1458ce1259b951377e341aeb6197f8c1) created
a printf conversion spec / argument type mismatch in tst_iscan.c.
Fix this to avoid truncation of the printed value and to silence
a compiler warning seen when "make check" is run.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/tst_iscan.c
3971bfe878d6c30f9b5be3a2c0310943982a4775 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: use dgrp_t for block group numbers

Make e2fsck consistently use dgrp_t for bloc group numbers to avoid
-Wconveresion noise.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/journal.c
2fsck/message.c
2fsck/pass1.c
2fsck/pass2.c
2fsck/pass4.c
2fsck/pass5.c
2fsck/problem.h
130e961a6fb9d38997c83c6397cf9ddb5ed2491f 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: add support for 64-bit extended attribute block refcounting

If we have a 64-bit file system with extended attribute blocks, e2fsck
would not correctly handle EA blocks that were located beyond the
32-bit block number boundary. Fix this by teaching
e2fsck/ea_refcount.c to use 64-bit block numbers.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/e2fsck.h
2fsck/ea_refcount.c
27dc24defdadbbb63d4c1ed8b6c06839f77388ef 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: fix j_maxlen if the file system is exactly 1 << 32 blocks

If the external journal device has exactly 1 << 32 blocks,
journal->j_maxlen would get set to zero, which would cause e2fsck to
declare the journal to be invalid.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/journal.c
15a668c4b57f0d38776a0eac23e884e084a1be87 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: add explicit casts to bitops.h

Add some explicit casts to silence some -Wconversion noise.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/bitops.h
b70483742b7ad993b574fbfb96ce77f5c05c84f9 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: add explicit casts to ext2fs.h

Add some explicit casts to silence some -Wconversion noise.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ext2fs.h
26da661447f1b7cb49864590fc42f405f0d9a328 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> dumpe2fs: fix printing of block offsets for 64-bit file systems

Use ext2fs_group_first_block2() instead of ext2fs_group_first_block()
to avoid dumpe2fs from printing crazy block offsets when we have block
numbers which are larger than 32 bits.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/dumpe2fs.c
b849f712000fa48e11e7ee8342362876783542ab 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: use blk_t instead of blk64_t in check_resize_inode()

The resize inode only works on 32-bit block numbers, so use blk_t
instead of blk64_t. This avoids some -Wconversion noise, and slims
the compiled code slightly, especially on 32-bit platforms.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/super.c
974d57d3b1f896d2064ba854d7c037ab6478ecf8 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: use errcode_t to suppress some -Wconversion warnings

We need to store some error codes using an int to keep recovery.c as
close as possible to the recovery.c source file in the kernel.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/e2fsck.h
2fsck/journal.c
2fsck/pass1b.c
2fsck/rehash.c
2fsck/unix.c
2fsck/util.c
3c7c6d73f1a0bd45835966f1179fc3e8236a7d9c 03-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: use problem_t to suppress some -Wconversion warnings

All code which stores a problem code should use the problem_t type.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass1.c
2fsck/pass2.c
2fsck/pass5.c
7bef6d52125ef3f1ef07d9da71a13546f6843c56 03-Dec-2013 Kit Westneat <kwestneat@ddn.com> e2fsck: use ext2fs_write_dir_block3() instead of ext2fs_write_dir_block()

The use of ext2fs_write_dir_block() meant that attempts to fix
deleted/unused inodes in a directory would not be fixed for file
systems with 64-bit block numbers. (And some random block with the
high 32-bits cleared would get corrupted.)

Fix a similar problem when expanding directories and when creating the
lost+found dirctory.

Signed-off-by: Kit Westneat <kwestneat@ddn.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
2fsck/pass2.c
2fsck/pass3.c
496220309337863b45d9ee6173ff431919fb51f5 02-Dec-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: fix some memory leaks with image file handling

These memory leaks were discovered by using "valgrind
--leak-check=full" while running "e2image -I bar.img foo.e2i"

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/freefs.c
ib/ext2fs/openfs.c
8b3c52fb8115c8c37835d74455619f380acbc833 02-Dec-2013 Kit Westneat <kwestneat@ddn.com> libext2fs: set the fs block size to new_io in ext2fs_rewrite_to_io()

e2image manually opens a new IO channel, and then sets the file system
to use this new IO channel via ext2fs_rewrite+to_io(). We need to
make sure the IO channel is set to the file system's block size to
avoid some nasty buffer overruns.

[ Modified by tytso to use io_channel_set_blksize() ]

Signed-off-by: Kit Westneat <kwestneat@ddn.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
ib/ext2fs/openfs.c
4c2ae57d38f60fa74ecd5bb681c8fb80fba59b6a 02-Dec-2013 Theodore Ts'o <tytso@mit.edu> e2image: pass the correct size write_header

Commit bf0449b1a654, which added the ability to write qcow2 files,
generalized the write_header() file to take the size of the header
structure which it writes out. Unfortunately, it changed the call
which supported original e2image format to pass in fs->blocksize,
instead of the actual size of the e2image header structure (which is
substantially smaller than fs->blocksize). This meant that we copied
in stack garbage into the e2image file, and it made valgrind quite
unhappy.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.c
5f16f6c337feca8bdfb728af8585626e72a69640 24-Oct-2013 Theodore Ts'o <tytso@mit.edu> Fix optional static code analysis using sparse

Commit 832cb612: "e2fsprogs: add (optional) sparse checking to the
build" breaks systems that are not using GNU make. In addition, it
breaks if the developer tries to build in a subdirectory (i.e., if he
or she tries running "make" in the misc or e2fsck or lib/ext2fs
directory), since CHECK_CMD is not set.

Fix this by moving the sparse setup to MCONFIG.

Cc: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
CONFIG.in
akefile.in
d87f198ca3250c9dff6a4002cd2bbbb5ab6f113a 24-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: reject 64bit badblocks numbers

Don't accept block numbers larger than 2^32 for the badblocks list,
and don't run badblocks on them either.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/read_bb_file.c
isc/badblocks.c
cecfb4c04227dd5803c24b311d92a80e91b7b380 18-Oct-2013 Theodore Ts'o <tytso@mit.edu> mke2fs: don't let resize= turn on resize_inode when meta_bg is set

Passing the "-E resize=NNN" option to mke2fs sets the resize_inode
feature. However, resize_inode and meta_bg are mutually exclusive;
unfortunately, we check this constraint before we parse the extended
options. Fix this by moving this check after the calls
parse_extended_opts().

Reported-by: "Darrick J. Wong" <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
d36e027f9ce175f2437dcf681479935e185755a0 18-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: stop iterating dirents when done linking

When we've succesfully linked an inode into a directory, we can stop
iterating the directory.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/link.c
147ba43de8aab8323e23f383216ff416c4314226 23-Oct-2013 Theodore Ts'o <tytso@mit.edu> Fix noquota build

We need to build libquota even if the quota code is disabled. This
fixes a build regression introduced by commit 43075b42bd: 'quota: fix
disabling quota, add quota tests".

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
akefile.in
47478a2944a2a17c7fdebe9d92573db92013125c 17-Oct-2013 Jeff Sharkey <jsharkey@android.com> Fix blkid time diff bug, build binary.

When calculating time diffs, use difftime() instead of risking
integer overflow. Also build a "blkid" binary.

Bug: 11175082
Change-Id: I23521f45204574bb32f152926401c2cbad93175b
ib/blkid/probe.c
isc/Android.mk
e2883e2792023e32033d35697d9676fbf1fb1394 16-Oct-2013 Phillip Susi <psusi@ubuntu.com> mke2fs: clarify inode ratio in man page

The man page still said it was not possible to change the number of
inodes on a filesystem after creating it. You actually can by
resizing the fs, so clarify this language a bit.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/mke2fs.8.in
43075b42bdff509cc567bd870a32072edf05d04c 14-Oct-2013 Niu Yawei <niu@whamcloud.com> quota: fix disabling quota, add quota tests

Update all superblock copies when disabling the quota feature.

Added basic tests for the quota feature.

Signed-off-by: Niu Yawei <niu@whamcloud.com>
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure
onfigure.in
ib/quota/mkquota.c
ests/Makefile.in
ests/m_quota/expect.1
ests/m_quota/script
ests/t_quota_1on/name
ests/t_quota_1on/script
ests/t_quota_2off/name
ests/t_quota_2off/script
d82445e903be682e09c41607ed5f7b338cb8c1b0 14-Oct-2013 Eric Sandeen <sandeen@redhat.com> tune2fs: more respect for quota config option

Commit 44a2cca3 disabled tune2fs -O quota when the build
didn't have --enable-quota at configure time, but that
wasn't quite enough.

We need to exclude the "-Q" option as well from tune2fs
when --enable-quota isn't specified at configure time.

Otherwise, tune2fs -Q can set the quota feature, but no other
utility will touch the filesystem due to the unknown flag,
if buitl w/o --enable-quota.

So put everything related to "-Q" under #ifdef CONFIG_QUOTA;
usage output (was missing before) and option parsing.

Addresses-Red-Hat-Bugzilla: #1010709
Reported-by: Bert DeKnuydt <Bert.Deknuydt@esat.kuleuven.be>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/tune2fs.c
f5589f4c189a2d6b34fcd10570c496ca568e0aee 14-Oct-2013 Eric Sandeen <sandeen@redhat.com> mke2fs: remove quota docs if not configured in

If quota isn't turned on with --enable-quota, then comment
quota documentation out of the mke2fs manpage.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure
onfigure.in
isc/mke2fs.8.in
til/subst.conf.in
76d84ffceb24fa4f9323b18d350e31357f3b981c 14-Oct-2013 Robert Yang <liezhi.yang@windriver.com> contrib/populate-extfs.sh: use debugfs to populate extX fs

This script uses debugfs command to populate the ext2/3/4 filesystem
from a given directory, it is a little similar to genext2fs, but this
one fully supports ext3 and ext4.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ontrib/populate-extfs.sh
c756ec4217dcc045f70f49f2a758ba301b057e55 14-Oct-2013 Robert Yang <liezhi.yang@windriver.com> debugfs.c: do sparse copy when src is a sparse file

Let debugfs do sparse copy when src is a sparse file, just like
"cp --sparse=auto"

* For the:
#define IO_BUFSIZE 64*1024
this is a suggested value from gnu coreutils:
http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob;f=src/ioblksize.h;h=1ae93255e7d0ccf0855208c7ae5888209997bf16;hb=HEAD

* Use malloc() to allocate memory for the buffer since put 64K (or
more) on the stack seems not a good idea.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ebugfs/debugfs.c
355ffb2ff566229b8bc3f5f7557e91edff5a767a 14-Oct-2013 Robert Yang <liezhi.yang@windriver.com> debugfs.c: the max length of debugfs argument is too short

The max length of debugfs argument is 256 which is too short, the
arguments are two paths, the PATH_MAX is 4096 according to
/usr/include/linux/limits.h, so use BUFSIZ (which is 8192 on Linux
systems), that's also what the ss library uses.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ebugfs/debugfs.c
128c943ef2a0a82b8a4a8a9ca66f459e107bc877 13-Oct-2013 Theodore Ts'o <tytso@mit.edu> tests: remove version number dependency in r_min_itable

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/r_min_itable/expect
ests/r_min_itable/script
832cb612f8c1c10525fe438206d4fe5c6d38a4e7 12-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsprogs: add (optional) sparse checking to the build

Run sparse against source files when building e2fsprogs with 'make C=1'. If
instead C=2, it configures basic ext2 types for bitwise checking with sparse,
which can help find the (many many) spots where conversion errors are
(possibly) happening.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
akefile.in
ebugfs/Makefile.in
2fsck/Makefile.in
xt2ed/Makefile.in
ntl/Makefile.in
ib/blkid/Makefile.in
ib/e2p/Makefile.in
ib/et/Makefile.in
ib/ext2fs/Makefile.in
ib/ext2fs/ext2fs.h
ib/quota/Makefile.in
ib/ss/Makefile.in
ib/uuid/Makefile.in
isc/Makefile.in
esize/Makefile.in
ests/progs/Makefile.in
til/Makefile.in
6c327e9ca47fa4e51efe3a6601ad661b8c1a3964 12-Oct-2013 Carlos Maiolino <cmaiolino@redhat.com> e2image: complain if running e2image -r or -Q on a mounted filesystem

Several users have used e2image on a mounted RW filesystem, resulting in
inconsistent, useless e2images for debugging purposes.

This commit will forbid this and print an error message, although the
user can override this using a new force option.

Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/e2image.8.in
isc/e2image.c
57bde59a067c21ed924de4194344948f3c3ecb9a 12-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: openfs() musn't allow bigalloc without EXT2_FLAGS_64BITS

Currently, only the new 64-bit bitmap implementation supports the
block<->cluster conversions that bigalloc requires. Therefore, if we
have a bigalloc filesystem, require EXT2_FLAGS_64BITS be passed in to
ext2fs_open(). This does not mean that bigalloc file systems have to
be 64-bits; just that the userspace utilities have to be able to use
the new 64-bit capable library functions.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
ib/ext2fs/openfs.c
27b2297d5726623c2d119c671a0e1778aae6010a 12-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsck: enable extents on all 64bit filesystems

Since it's impossible to address all blocks of a 64bit filesystem
without extents, have e2fsck turn on the feature if it finds (64bit &&
!extents).

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/problem.c
2fsck/problem.h
2fsck/super.c
d11f92af3563ce9a235286e6e10d1ebf29a2a4a8 12-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> mke2fs: complain about creating 64bit filesystems without extents

A 64bit filesystem without extents is not terribly useful, because the
old block map format does not support pointing to high block numbers.
Warn the user who tries to create such an animal.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
2a091427bcbff1fd1cf3f0bccf00da98d52b8f16 08-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: search all possible blocks in implied_cluster_alloc()

implied_cluster_alloc() is written such that if the the user passes in
a logical block that is the zeroth block in a logical cluster (lblk %
cluster_ratio == 0), then it will assume that there is no physical
cluster mapped to any other part of the logical cluster.

This is not true if we happen to be allocating logical blocks in
reverse order. Therefore, search the whole cluster, except for the
lblk that we passed in.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/bmap.c
4605a35d1ef573dc166a73ed910d0ee7b02489cb 08-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fix off-by-one error in file truncation

When told to truncate a file, ext2fs_file_set_size2() should start with
the first block past the end of the file. The current calculation
jumps one more block ahead, with the result that it fails to hack off
the last block. Adding blocksize-1 and dividing is sufficient to find
the last block.

Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/fileio.c
470ca046b1e682c419d50efc8d4941db1b8601d9 08-Oct-2013 Niu Yawei <yawei.niu@gmail.com> libext2fs: update i_size in ext2fs_file_write()

ext2fs_file_write() needs to update i_size on successful write,
otherwise, ext2fs_file_read() in same open/close cycle will not
be able to read the just written data.

This fixes a bug which results in the the problem of quotacheck
triggered on 'tune2fs -O quota' failed to write back multiple
users/groups accounting information.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/fileio.c
a25487cbaf0e340144cb4673d52136abdb3eb2cf 07-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsprogs: fix inode and block relocation functions to use blk64_t

The inode and block relocation functions aren't currently compiled in
(so we don't need to worry about breaking ABI compatibility). They
were originally intended for use by resize2fs, but we never ended up
using them, so (wisely) they weren't ever included in libext2fs as an
exported interface (they're not even compiled by the Makefile).

Fix them so that in case we ever use them, so that in places where raw
data types (int, long, etc.) stood in for blk_t and blk64_t. Also fix
some sites where we should probably be using blk64_t.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/brel.h
ib/ext2fs/brel_ma.c
ib/ext2fs/irel.h
4dbfd79d1458ce1259b951377e341aeb6197f8c1 07-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> e2fsprogs: fix blk_t <- blk64_t assignment mismatches

Fix all the places where we should be using a blk64_t instead of a
blk_t. These fixes are more severe because 64bit values could be
truncated silently.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/logdump.c
ebugfs/set_fields.c
2fsck/e2fsck.h
2fsck/journal.c
2fsck/message.c
2fsck/pass1.c
2fsck/pass3.c
2fsck/rehash.c
2fsck/unix.c
2fsck/util.c
ib/ext2fs/closefs.c
ib/ext2fs/ext2fsP.h
ib/ext2fs/fileio.c
ib/ext2fs/inode.c
ib/ext2fs/punch.c
ib/ext2fs/tst_iscan.c
isc/dumpe2fs.c
isc/tune2fs.c
581646b94f3b57a461105968b49105a1357216ea 07-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: ind_punch() must not stop examining blocks prematurely

When we're iterating the main loop in ind_punch(), "offset" tracks how
far we've progressed into the block map, "start" tells us where to
start punching, and "count" tells us how many blocks we are to punch
after "start". Therefore, we would like to break out of the loop once
the "offset" that we're looking at has progressed past the end of the
punch range. Unfortunately, if start !=0, the if-break clause in the
loop causes us to break out of the loop early.

Therefore, change the breakout test to terminate the loop at the
correct time.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/punch.c
4ee4ad80dcceb42b1e5cfd2d4067a38b99b9fa95 07-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: allow callers to punch a single block

The range of blocks to punch is treated as an inclusive range on both
ends, i.e. if start=1 and end=2, both blocks 1 and 2 are punched out.
Thus, start == end means that the caller wishes to punch a single
block. Remove the check that prevents us from punching a single
block.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ext2fs.h
ib/ext2fs/punch.c
5d494038eede1bb538441dedf4207529629154b3 07-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: rewind extent pointer when totally deleting an extent

During a punch operation, if we decide to delete an extent out of the
extent tree, the subsequent extents are moved on top of the current
extent (that is to say, they're memmmove'd down one slot). Therefore
it is not correct to advance to the next leaf because that means we
miss half the extents in the range! Rereading the current pointer
should be fine.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/punch.c
580d8a0933e9fe390a445c50358af852345c0a47 07-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: fix a minor grammatical error in the error catalog

'an block' should be 'a block'.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/ext2_err.et.in
o/ca.po
o/cs.po
o/de.po
o/e2fsprogs.pot
o/es.po
o/fr.po
o/id.po
o/it.po
o/nl.po
o/pl.po
o/sv.po
o/tr.po
o/vi.po
o/zh_CN.po
92a7b0d2e3f7e0ea190477c82edf57fb85eed95c 01-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: set the large_file feature flag when setting i_size > 2GB

If someone tries to write a file that is larger than 2GB, we need to
set the large_file feature flag to affirm that i_size_hi can hold
meaningful contents.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/fileio.c
7320cb7106e5f5a552d07432e9322e1059c02bf3 01-Oct-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: only link an inode into a directory once

The ext2fs_link helper function link_proc does not check the value of
ls->done, which means that if the function finds multiple empty spaces
that will fit the new directory entry, it will create a directory
entry in each of the spaces. Instead of doing that, check the done
value and don't do anything more if we've already added the directory
entry.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/link.c
7447da02f05699894c6f277f2518bd00ffc33906 01-Oct-2013 Theodore Ts'o <tytso@mit.edu> tests: add test for resize2fs -M with inode table in middle of block group

Eric Sandeen reported that Fedora's mke2fs when compiled for ppc was
creating a file system which caused problems with resize2fs -M.
Closer examination showed that the problem was file system which
looked like this:

Filesystem features: ext_attr dir_index filetype sparse_super
Inode count: 512
Block count: 1247
...

Group 0: (Blocks 1-1024)
Primary superblock at 1, Group descriptors at 2-2
Block bitmap at 66 (+65), Inode bitmap at 67 (+66)
Inode table at 68-99 (+67)

Group 1: (Blocks 1025-1246)
Backup superblock at 1025, Group descriptors at 1026-1026
Block bitmap at 1090 (+65), Inode bitmap at 1091 (+66)
Inode table at 1092-1123 (+67)

It's not obvious to me why Fedora's ppc mke2fs is creating file
systems like this (I can't reproduce this on debian ppc systems), but
resize2fs -M should be able to deal with such file systems, which is
what this test is designed to check.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/r_min_itable/expect
ests/r_min_itable/image.gz
ests/r_min_itable/name
ests/r_min_itable/script
e9736a3ba88b73e38fd56f5a7d1ee3b514cd713c 01-Oct-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: relocate inode table blocks if necessary when shrinking

If the file system is being shrunk, and a block group's inode table
falls beyond the end of the inode table, we need to try to relocate
the inode table blocks.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
2215293c7e85c88d2fbc06f9e9438fca9a25213c 01-Oct-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: fix -M size calculations to avoid cutting off the inode table

If the file system's inode table blocks in the last block group are
located in the middle or the end of the block group, it's possible for
resize2fs -M to use a size which will require relocating the inode
table blocks in the last block group. This can lead to all sorts of
problems, so solve it by simply guaranteeing that we will never do
that.

Reported-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
e231f17500477f7abbea5c441971be491a04fdf4 01-Oct-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: add debugging support for resize2fs -M calcuations

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/main.c
esize/resize2fs.8.in
esize/resize2fs.c
esize/resize2fs.h
d45170717a834152b22ca8a72b9e079c80938f65 27-Sep-2013 Eric Whitney <enwlinux@gmail.com> tests: add another test for uninit extents past eof

Commit d3f32c2db8 was intended to detect extents found outside their
proper location in the extent tree, including invalid extents at the
end of an extent block. However, it incorrectly reported legal
uninitialized extents created by fallocate() at the end of file with
the FALLOC_FL_KEEP_SIZE flag as false positives. xfstests
generic/263 (among others) caught this problem, while the e2fsprogs
test f_uninit_ext_past_eof did not. The latter test failed to
detect the problem in part because it uses a test file whose i_size
is 0.

Add a test derived from the fsx-based test case in xfstests
generic/263 consisting of a file with non-zero length, more than
four extents total, and two uninitialized extents past EOF to
reliably reproduce commit d3f32c2db8's false positive behavior.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ests/f_uninit_ext_past_eof2/expect.1
ests/f_uninit_ext_past_eof2/expect.2
ests/f_uninit_ext_past_eof2/image.gz
ests/f_uninit_ext_past_eof2/name
085757fcc22a86168ee6793dfad9a95d88fb09db 09-Sep-2013 Eric Whitney <enwlinux@gmail.com> e2fsck: don't report uninit extents past EOF invalid

Commit d3f32c2db8 introduced a regression that caused e2fsck failures
in xfstests generic 013, 070, 083, 091, and 263. Uninitialized
extents created by fallocate() at the end of file with the
FALLOC_FL_KEEP_SIZE flag were identified as invalid. However,
because the file size is not increased when FALLOC_FL_KEEP_SIZE is
used, uninitialized extents can correctly contain blocks located past
the end of file.

Fix this by filtering out possible invalid extents if they are
uninitialized and extend past the block containing the end of file.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass1.c
8ab395524b95875818505a497428cab73e80c0d5 05-Aug-2013 Zheng Liu <wenqing.lz@taobao.com> libext2fs: fix a coding style for EXT2_NO_MTAB_FILE

When we define an error in lib/ext2fs/ext2_err.et.in, we will always use
EXT2_ET_* prefix for a new error. But EXT2_NO_MTAB_FILE doesn't obey
this rule. So fix it.

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ext2_err.et.in
ib/ext2fs/ismounted.c
a88c2fb508e42be997512732085a2ed887155b9f 09-Sep-2013 Eric Sandeen <sandeen@redhat.com> resize2fs: fix interior extent node corruption

If we have an extent tree like this (from debuge2fs's "ex" command):

Level Entries Logical Physical Length Flags
...
2/ 2 60/ 63 13096 - 13117 650024 - 650045 22
2/ 2 61/ 63 13134 - 13142 650062 - 650070 9
2/ 2 62/ 63 13193 - 13194 650121 - 650122 2
2/ 2 63/ 63 13227 - 13227 650155 - 650155 1 A)
1/ 2 4/ 14 13228 - 17108 655367 3881 B)
2/ 2 1/117 13228 - 13251 650156 - 650179 24 C)
2/ 2 2/117 13275 - 13287 650203 - 650215 13
2/ 2 3/117 13348 - 13353 650276 - 650281 6
...

and we resize the fs in such a way that all of those blocks must
be moved down, we do them one at a time. Eventually we move 1-block
extent A) to a lower block, and then follow it with the other
blocks in the next logical offsets from extent C) in the next
interior node B).

The userspace extent code tries to merge, so when it finds that
logical 13228 can be merged with logical 13227 into a single extent,
it does. And so on, all through extent C), up to block 13250 (why
not 13251? [1]), and eventually move the node block as well.
So we end up with this when all the blocks are moved post-resize:

Level Entries Logical Physical Length Flags
...
2/ 2 120/122 13193 - 13193 33220 - 33220 1
2/ 2 121/122 13194 - 13194 33221 - 33221 1
2/ 2 122/122 13227 - 13250 33222 - 33245 24 D)
1/ 2 5/ 19 13228 - 17108 34676 3881 E) ***
2/ 2 1/222 13251 - 13251 33246 - 33246 1 F)
2/ 2 2/222 13275 - 13286 33247 - 33258 12
...

All those adjacent blocks got moved into extent D), which is nice -
but the next interior node E) was never updated to reflect its new
starting point - it says the leaf extents beneath it start at 13228,
when in fact they start at 13251.

So as we move blocks one by one out of original extent C) above, we
need to keep updating C)'s parent node B) for a proper starting point.
fix_parents() does this.

Once the tree is corrupted like this, more corruption can
ensue post-resize, because we traverse the tree by interior nodes,
relying on their start block to know where we are in the tree.
If it gets off, we'll end up inserting blocks into the wrong part
of the tree, etc.

I have a testcase using fsx to create a complex extent tree which
is then moved during resize; it hit this corruption quite easily,
and with this fix, it succeeds.

Note the first hunk in the commit is for going the other way,
moving the last block of an extent to the extent after it; this
needs the same sort of fix-up, although I haven't seen it in
practice.

[1] We leave the last block because a single-block extent is its
own case, and there is no merging code in that case. \o/

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/extent.c
0851517daa6f11f7bc6b63a82deef7f4561ee3c7 09-Sep-2013 Darrick J. Wong <darrick.wong@oracle.com> resize2fs: use blk64_t and location getters for free_gdp_blocks()

free_gdp_blocks needs to be taught to use 64-bit fields and the appropriate
getters, otherwise it'll truncate high block numbers (when, say, resizing a
>16T fs) and mark the low numbered group descriptor blocks as free. Yikes.

Reported-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
816d2c9cf7fb17fe808a081e076cb558f44ec30d 09-Sep-2013 Darrick J. Wong <darrick.wong@oracle.com> libext2fs: ext2fs_dup_handle should not alias MMP buffers

It turns out that resize2fs uses ext2fs_dup_handle to duplicate fs handles. If
MMP is enabled, this causes both handles to share MMP buffers, which is bad
news when it comes time to free both handles. Change the code to (we hope) fix
this. This prevents resize2fs from failing with a double-free error when
handed a MMP filesystem.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/dupfs.c
7ff040f30f0ff3bf5e2c832da3cb577e00a52d60 09-Sep-2013 Eric Sandeen <sandeen@redhat.com> e2fsck: don't try to stop mmp if there is no superblock set up

Under some failure cases, we can get to fatal_error()
without even having a superblock set up. In that case,
ext2fs_mmp_stop() will segfault when it tries to dereference
fs->super.

Check for the existence of a superblock before we go
down the ext2fs_mmp_stop() path to avoid this problem.

Reported-by: Hubert Kario <hkario@redhat.com>
Addresses-Red-Hat-Bugzilla: #997972
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/util.c
fc40d2924e2dc004bc9a949d09678c2cbe772851 11-Aug-2013 Theodore Ts'o <tytso@mit.edu> debian: remove old symlinks to /usr/share/doc

(Merged in NMU'ed change for Debian-Bug: #698879)

Merge commit '7dc67c0ad5daa7cbdf6d79a73bb34e04d55f7406' into maint

Conflicts:
debian/changelog
7dc67c0ad5daa7cbdf6d79a73bb34e04d55f7406 11-Aug-2013 Theodore Ts'o <tytso@mit.edu> debian: remove old symlinks to /usr/share/doc

(From NMU'ed change)

Addresses-Debian-Bug: #698879

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/changelog
ebian/e2fsck-static.preinst
ebian/e2fsprogs.preinst
a17e9f304bcce0d30578f91bba7456d84a113423 29-Jul-2013 Eric Sandeen <sandeen@redhat.com> debugfs: properly set up extent header in do_write

do_write doesn't fully set up the first extent header on a new
inode, so if we write a 0-length file, and don't write any data
to the new file, we end up creating something that looks corrupt
to kernelspace:

EXT4-fs error (device loop0): ext4_ext_check_inode:464: inode #12: comm ls: bad header/extent: invalid magic - magic 0, entries 0, max 0(0), depth 0(0)

Do something similar to ext4_ext_tree_init() here, and
fill out the first extent header upon creation to avoid this.

Reported-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Tested-by: Robert Yang <liezhi.yang@windriver.com>
ebugfs/debugfs.c
c8ec2bad18fdaa842f786f3b37c9320a3411aea3 29-Jul-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: correctly deallocate invalid extent-mapped symlinks

The function deallocate_inode() in e2fsck/pass2.c was buggy in that it
would clear out the inode's mode and flags fields before trying to
deallocate any blocks which might belong to the inode.

The good news is that deallocate_inode() is mostly used to free inodes
which do not have blocks: device inodes, FIFO's, Unix-domain sockets.

The bad news is that if deallocate_inode() tried to free an invalid
extent-mapped inode, it would try to interpret the root of the extent
node as block numbers, and would therefore mark various file system
metadata blocks (the superblock, block group descriptors, the root
directory, etc.) as free and available for allocation. This was
unfortunate.

(Try running an older e2fsck against the test file system image in the
new test f_invalid_extent_symlink, and then run e2fsck a second time
on the fs image, and weep.)

Fortunately, this kind of file system image corruption appears to be
fairly rare in actual practice, since it would require a very unlucky
set of bits to be flipped, or a buggy file system implementation.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass2.c
ests/f_invalid_extent_symlink/expect.1
ests/f_invalid_extent_symlink/expect.2
ests/f_invalid_extent_symlink/image.gz
ests/f_invalid_extent_symlink/name
dd50ef87432284d93b9f39178c4fab242d76654e 29-Jul-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: check extent-mapped directories with really large logical blocks

E2fsck was missing a check for directories with logical blocks so
large that i_size > 2GB. Without this check the test image found in
the new test f_toobig_extent_dir will cause e2fsck to die with a
memory allocation failure:

Error storing directory block information (inode=12, block=0, num=475218819): Memory allocation failed
e2fsck: aborted

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reported-by: Andrey Melnikov <temnota.am@gmail.com>
2fsck/pass1.c
ests/f_toobig_extent_dir/expect.1
ests/f_toobig_extent_dir/expect.2
ests/f_toobig_extent_dir/image.gz
ests/f_toobig_extent_dir/name
42b61c50e5af99a10fc56975ecd08ab71e4f00e8 08-Jul-2013 Theodore Ts'o <tytso@mit.edu> libext2fs, tests: allow /etc/mtab file to be missing

The environment variable EXT2FS_NO_MTAB_OK will suppress the error
code EXT2_NO_MTAB_FILE when the /etc/mtab file can not be found. This
allows the e2fsprogs regression test suite to be run in chroots which
might not have an /etc/mtab file.

By default will still want to complain if the /etc/mtab file is
missing, since we really don't want to discourage distributions and
purveyors of embedded systems from running without an /etc/mtab file.
But if it's missing it only results in a missing sanity check that
might cause file system corruption if the file system is mounted when
programs such as e2fsck, tune2fs, or resize2fs is running, so there is
no potential security problems that might result if this environment
variable is set inappropriately.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ismounted.c
ests/test_config
05958122453834079195230ff054cfd6073fbc98 21-Jun-2013 Theodore Ts'o <tytso@mit.edu> Update release notes, etc., for final 1.42.8 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ELEASE-NOTES
ebian/changelog
2fsprogs.lsm
ersion.h
fd73a1d254556fce65d03e74ee5a97304f496caa 11-May-2013 Ashish Sangwan <a.sangwan@samsung.com> mke2fs: calculate journal blocks just after fs initialize

We can calculate journal blocks as soon as blocksize is set.
It will help to figure out wrong journal blocks count earlier.
This will save some un-necessary initialization.

Without patch output =>
mke2fs /dev/sdc1 -J size=1048576
mke2fs 1.42.7 (21-Jan-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
61312 inodes, 244936 blocks
12246 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=251658240
8 block groups
32768 blocks per group, 32768 fragments per group
7664 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done

The requested journal size is 268435456 blocks; it must be
between 1024 and 10240000 blocks. Aborting.

With patch output =>
mke2fs /dev/sdc1 -J size=1048576
mke2fs 1.42.7 (21-Jan-2013)

The requested journal size is 268435456 blocks; it must be
between 1024 and 10240000 blocks. Aborting.

Signed-off-by: Ashish Sangwan <a.sangwan@samsung.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/mke2fs.c
80391dcd2ec853981a11e1178ff7a19598a4e81c 19-Jun-2013 Eric Sandeen <sandeen@redhat.com> resize2fs: move bitmaps if shrinking would orphan them

It is possible to have a flex_bg filesystem with block groups
which have inode & block bitmaps at some point well past the
start of the group.

If an offline shrink puts the new size somewhere between
the start of the block group and the (old) location of
the bitmaps, they can be left beyond the end of the filesystem,
i.e. result in fs corruption.

Check each remaining block group for whether its bitmaps
are beyond the end of the new filesystem, and reallocate
them in a new location if needed.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
esize/resize2fs.c
b49d67ddd8af9568bd5eee319af0479f042db4fd 17-Jun-2013 Theodore Ts'o <tytso@mit.edu> Use ext2fs_cpu_to_be32() instead of cpu_to_be32() in kernel-jbd.h

Avoid compatibility problems by using the byte swapping functions
defined by e2fsprogs, instead of the ones defined in the system header
files. We use them everywhere else, so we should use them in
kernel-jbd.h too.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/kernel-jbd.h
6e2393fde2552a8c6449639a733e8ae4e095b113 17-Jun-2013 Theodore Ts'o <tytso@mit.edu> Update Release Notes, Changelogs, version.h, for 1.42.8 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
EADME
ELEASE-NOTES
ebian/changelog
ebian/control.in
ebian/rules
oc/libext2fs.texinfo
2fsprogs.lsm
o/e2fsprogs.pot
ersion.h
3df6014a3d216d19be7d2286de24e8ee106f18ad 16-Jun-2013 Theodore Ts'o <tytso@mit.edu> Work around Debian Bug #712530

Add a test to see if the backtrace() function requires linking in a
library in /usr/lib.

Addresses-Debian-Bug: #708307

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure
onfigure.in
ebian/scripts/test-backtrace
2fsck/Makefile.in
2fsck/sigcatcher.c
ib/config.h.in
1ad3174af5213fa7029944cc19723cda08f221d3 16-Jun-2013 Theodore Ts'o <tytso@mit.edu> Try to use secure_getenv() in preference to __secure_getenv()

If secure_getenv() use it in preference to __secure_getenv().
Starting with (e)glibc version 2.17, secure_getenv() exists, while
__secure_getenv() only works with shared library links (where it is a
weak symbol), but not for static links with /lib/libc.a

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure
onfigure.in
ib/blkid/cache.c
ib/config.h.in
ib/et/error_message.c
ib/ext2fs/test_io.c
ib/ss/pager.c
dc9cc7006a61d0ef82ee4e1dee133998c6040765 16-Jun-2013 Andreas Dilger <adilger@dilger.ca> mke2fs: don't set root dir UID/GID automatically

Don't change the root directory's UID/GID automatically just because
mke2fs was run as a non-root user. This can be confusing for users,
and is not flexible for non-root installation tools that need to
create a filesystem with different ownership from the current user.

Add the "-E root_owner[=uid:gid]" option to mke2fs so that the user
and group can be explicitly specified for the root directory. If
the "=uid:gid" argument is not specified, the current UID and GID
are extracted from the running process, as was done in the past.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/mke2fs.8.in
isc/mke2fs.c
ests/m_root_owner/expect.1
ests/m_root_owner/script
626a2e7468d44ad61aae2c36533e8c90778f93d8 16-Jun-2013 Theodore Ts'o <tytso@mit.edu> mke2fs: clarify mke2fs and mke2fs.conf man pages

Addresses-Debian-Bug: #712429
Addresses-Debian-Bug: #712430

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.8.in
isc/mke2fs.conf.5.in
e7f983bfb27da3999ea91f9520ad1f438c3d59f2 16-Jun-2013 Theodore Ts'o <tytso@mit.edu> e2image: fix crash when using e2image -I with a 64-bit file system

Addresses-Debian-Bug: #703067

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.c
2a83b3c3741bdc9a1b2af73114c778f4b21a9ab1 16-Jun-2013 Andreas Dilger <adilger@dilger.ca> mke2fs: sort option parsing, deprecate "-R"

A minor cleanup to order the command-line option parsing in
alphabetical order, except for "-E" and "-R", which need to
be co-located.

Print a message that the "-R" option is deprecated. It has
been deprecated since 2005 (commit c6a44136b9b).

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/mke2fs.c
ests/m_raid_opt/script
f9fd342e568dbadaadbb0b242f14271cb384c38b 16-Jun-2013 Andreas Dilger <adilger@dilger.ca> tests: clean up sed filtering of test output

The sed filters for test outputs that are used to remove build and
test specific information (such as version strings, dates, times,
UUIDs) were unconditionally deleting the first line of output. This
would normally contain the tool version string, but in some cases
contained other information that was being lost. This can lead to
difficulty debugging test failures.

The sed filtering has been changed to only remove the actual version
strings. As well, similar filter strings were duplicated throughout
many scripts, and "sed" and "tr" were often called multiple times in
a pipeline. These have been consolidated into a single filter.sed
file to avoid having to maintain these filters in multiple places.

In a few cases, accidentally deleted messages have been restored to
the expect output for the tests. In other cases, trivial whitespace
has been changed in the expect files.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ests/d_loaddump/script
ests/d_special_files/script
ests/f_jnl_32bit/expect.0
ests/f_jnl_32bit/script
ests/f_jnl_64bit/expect.0
ests/f_jnl_64bit/script
ests/f_jnl_errno/expect.0
ests/f_jnl_errno/script
ests/f_orphan_indirect_inode/expect.1
ests/f_preen/expect.1
ests/f_resize_inode/script
ests/filter.sed
ests/filter_dumpe2fs
ests/m_bigjournal/expect.1
ests/m_dasd_bs/expect.1
ests/m_extent_journal/expect.1
ests/m_large_file/expect.1
ests/m_meta_bg/expect.1
ests/m_mkfs_overhead/script
ests/m_mmp/expect.1
ests/m_no_opt/expect.1
ests/m_raid_opt/expect.1
ests/m_std/expect.1
ests/m_uninit/expect.1
ests/r_inline_xattr/script
ests/r_move_itable/expect
ests/r_move_itable/script
ests/r_resize_inode/expect
ests/r_resize_inode/script
ests/run_e2fsck
ests/run_mke2fs
4718395120454ad7c193c76258ef5359f2ab3f2f 16-Jun-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: optimize ext2fs_bg_has_super()

Reduce the CPU time needed when checking whether a block group has a
sparse superblock.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/closefs.c
ib/ext2fs/ext2fs.h
3ac420165c0ad6cf2aa6450095e55975f4571a3f 10-Jun-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: remove lib/ext2fs/sparse.c

This file was never getting compiled, and there is no user of
ext2fs_list_backups() in the e2fsprogs sources. So remove it as a
clean up.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/sparse.c
e2e389a1d54515dae096c3d47028bfaa3f2621b6 07-Jun-2013 Theodore Ts'o <tytso@mit.edu> tests: add new test f_extent_oobounds

This tests creates a file system where the last entry in one leaf
block overlaps with logical block range in the first entry of the next
leaf block.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/f_extent_oobounds/expect.1
ests/f_extent_oobounds/expect.2
ests/f_extent_oobounds/script
d3f32c2db8f11c87aa7939d78e7eb4c373f7034f 07-Jun-2013 David Jeffery <djeffery@redhat.com> e2fsck: detect invalid extents at the end of an extent-block

e2fsck does not detect extents which are outside their location in the
extent tree. This can result in a bad extent at the end of an extent-block
not being detected.

From a part of a dump_extents output:

1/ 2 37/ 68 143960 - 146679 123826181 2720
2/ 2 1/ 2 143960 - 146679 123785816 - 123788535 2720
2/ 2 2/ 2 146680 - 147583 123788536 - 123789439 904 Uninit <-bad extent
1/ 2 38/ 68 146680 - 149391 123826182 2712
2/ 2 1/ 2 146680 - 147583 18486 - 19389 904
2/ 2 2/ 2 147584 - 149391 123789440 - 123791247 1808

e2fsck does not detect this bad extent which both overlaps another, valid
extent, and is invalid by being beyond the end of the extent above it in
the tree.

This patch modifies e2fsck to detect this invalid extent and remove it.

Signed-off-by: David Jeffery <djeffery@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
2fsck/pass1.c
2fsck/problem.c
2fsck/problem.h
68477355a9f3b4ca46dfa6c34d05105dcc6682ad 20-May-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: fix gcc -Wall nits

Perhaps the most serious fix up is a type-punning warning which could
result in miscompilation with overly enthusiastic compilers.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/journal.c
2fsck/message.c
2fsck/pass1.c
2fsck/pass1b.c
2fsck/pass2.c
2fsck/recovery.c
2fsck/rehash.c
2fsck/sigcatcher.c
2fsck/super.c
577c773a60fa7d167f5aaf717fadd20fe507fb97 20-May-2013 Theodore Ts'o <tytso@mit.edu> misc: fix gcc -Wall warnings

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/quota/quotaio.h
ib/quota/quotaio_tree.c
isc/badblocks.c
isc/e2image.c
isc/filefrag.c
isc/mke2fs.c
isc/tune2fs.c
e48bf256e99e4923c6193ff78000af18c700d93d 20-May-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: fix gcc -Wall warnings

Primarily signed vs unsigned and const warnings.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/e2fslibs.symbols
ib/ext2fs/bitops.c
ib/ext2fs/bitops.h
ib/ext2fs/blkmap64_rb.c
ib/ext2fs/block.c
ib/ext2fs/crc32c.c
ib/ext2fs/gen_bitmap64.c
ib/ext2fs/mmp.c
ib/ext2fs/rbtree.c
ib/ext2fs/rbtree.h
ib/ext2fs/rw_bitmaps.c
ib/ext2fs/symlink.c
79bb471a35cc79c62966941755a066ddbfd76350 14-May-2013 Ken Sumrall <ksumrall@android.com> Enable chattr and lsattr in the e2fsprogs build.

They are not installed in any build by default, but can now
be easily made with mm if they are needed for debugging
filesystem corruption issues.

Change-Id: I32a118ba4e504f344c936451f5e22ecd73302c06
isc/Android.mk
25399080c5b100fe7499334c30184592d68bc99d 13-May-2013 Theodore Ts'o <tytso@mit.edu> chattr: clarify that the compression flags are not supported by ext4

... or indeed by any mainline kernel, since the compression patches
were never stablized.

Addresses-Debian-Bug: #707609

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reported-by: "Creidieki M. Crouch" <creidieki@gmail.com>
isc/chattr.1.in
26991d026e4b555229a4466ae4d003420321bbd2 05-May-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: don't use IO_FLAG_EXCLUSIVE for read-only root file systems

When opening the external journal, use the same logic to decide
whether or not to open the file system with EXT2_FLAG_EXCLUSIVE found
in main().

Otherwise, it's not posible to use e2fsck when the root file system is
using an external journal.

Reported-by: Calvin Owens <jcalvinowens@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/journal.c
cc68e8a69aad45e318abe6bf1d80f6cd4a8dcd6a 05-May-2013 Theodore Ts'o <tytso@mit.edu> configure: update configure script to be in sync with the configure.in file

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure
5dfd5ef88d2c285050b7f120818e51045cfe845e 25-Apr-2013 Theodore Ts'o <tytso@mit.edu> tests: add new test f_zero_xattr

E2fsck previously was complaining with zero-length extended attributes
if they appeared in the in-inode xattr space. Test to make sure
e2fsck is now happy with such xattrs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/f_zero_xattr/expect.1
ests/f_zero_xattr/image.gz
ests/f_zero_xattr/name
ests/f_zero_xattr/script
10fc3a63d9b7efb14e810ee94ad1d2f254d44eae 25-Apr-2013 Eric Sandeen <sandeen@redhat.com> e2fsprogs: allow 0-length xattr values in e2fsck

e2fsck thinks that this:

# touch mnt/testfile1
# setfattr -n "user.test" mnt/testfile1

results in a filesystem with corruption:

Pass 1: Checking inodes, blocks, and sizes
Extended attribute in inode 12 has a value size (0) which is invalid
Clear? yes

but as far as I can tell, there is absolutely nothing wrong with
a 0-length value on an extended attribute. Just remove the check.

Reported-by: David Shaw <dshaw@jabberwocky.com>
Reported-by: Harald Reindl <h.reindl@thelounge.net>
Addresses-Red-Hat-Bugzilla: #557959
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/pass1.c
9bd95a472c85e9a883811bccae687b7c30f2536d 22-Apr-2013 Theodore Ts'o <tytso@mit.edu> crcsum: remove the -b option since ext2fs_crc32c_be is dropped in 1.43.x

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/progs/crcsum.c
572ef60b8923dc072e2644f706b25c3c92cb4bb6 22-Apr-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: only use override function when reading an 128 byte inode

The ext2fs_read_inode_full() function should not use fs->read_inode()
if the caller has requested more than the base 128 byte inode
structure and the inode size is greater than 128 bytes. Otherwise the
caller won't get all of the bytes that they were asking for, since
there's no way for the fs->read_inode override function can know what
the size of the buffer passed to ext2fs_read_inode_full().

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/inode.c
8034d9fa0f9a06f5caeab431fe226423dc5dc7d9 22-Apr-2013 Tomas Racek <tracek@redhat.com> e2image: fix flag settings in e2image.h

This prevents from SIGSEGV when -s options is used.

Signed-off-by: Tomas Racek <tracek@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
ib/ext2fs/e2image.h
fdaf34f8c05698cdefb2db9825b2a957b486f380 22-Apr-2013 Tomas Racek <tracek@redhat.com> e2image: require that -a option is used only with raw or QCOW2 image

All data cannot be included in normal image file so e2image should exit
in this case.

Signed-off-by: Tomas Racek <tracek@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
isc/e2image.c
ef21356fc094cca88d4fadcbb1cf0a6a53e9035d 22-Apr-2013 Tomas Racek <tracek@redhat.com> e2image: man: fix typo

Signed-off-by: Tomas Racek <tracek@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/e2image.8.in
d55e68a660bb9c73b88eb64bd94c81498678906a 22-Apr-2013 Tomas Racek <tracek@redhat.com> e2image: remove useless exit call

Exit is called right after the install_image anyway so this one can
be removed.

Signed-off-by: Tomas Racek <tracek@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/e2image.c
fab0d286ec8539988551271c5faa864ea38dc4d4 22-Apr-2013 Akira Fujita <a-fujita@rs.jp.nec.com> tune2fs: disallow tune2fs to set inode size larger than block size

Disallow tune2fs command to set the inode size to be larger than the
block size. Without this patch, tune2fs makes the file system to be
unmountable.

Steps to reproduce:

1.Create ext4 without flex_bg (or just create ext3)
# mke2fs -t ext4 -O ^flex_bg DEV

2.Set inode size larger than block size
# tune2fs -I 8192 DEV

3. We failed to mount FS
# mount DEV MP
mount: wrong fs type, bad option, bad superblock on /dev/sda7,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

Signed-off-by: Akira Fujita <a-fujita@rs.jp.nec.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/tune2fs.c
e79a9395b382e831c125d000d2bf16ba4b6253d4 01-Apr-2013 Theodore Ts'o <tytso@mit.edu> tests: add more tests for off-line resizing

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/r_1024_small_bg/script
ests/r_64bit_big_expand/script
ests/r_bigalloc_big_expand/script
ests/r_ext4_big_expand/script
ests/r_ext4_small_bg/script
ests/scripts/resize_test
28e66624031d272bbe1e9cff1f6403c0bb0a1e2c 01-Apr-2013 Theodore Ts'o <tytso@mit.edu> tests: create crcsum progam to support resizing tests

The only checksum program which we can reliably count upon being
installed on all systems is "sum", which is not a particular robust
checksum. The problem with using md5sum or sha1sum is it hat it may
not be installed on all systems. So create a crcsum program which is
used so we can validate that a data file on a resized file system has
not been corrupted.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/progs/Makefile.in
ests/progs/crcsum.c
ests/test_config
447da244eb31f11516d991891f985a2770080033 01-Apr-2013 Theodore Ts'o <tytso@mit.edu> mke2fs: don't display bigalloc/quota fs feature warnings in quiet mode

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
f026f1a37061a021f7188c9e45d0fbff1bde9e60 31-Mar-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: fix off-line resize of file systems with flex_bg && !resize_inode

When doing an off-line resize2fs of an initially very small file
system, it's possible to run out of reserved gdt blocks (which are
reserved via the resize inode). Once we run out, we need to move the
allocation bitmaps and inode table out of the way to grow the gdt
blocks. Unfortunately, when moving these metadata blocks, it was
possible that a block that had been just been newly allocated for a
new block group could also get allocated for a metadata block for an
existing block group that was being moved.

To prevent this, after we grow the gdt blocks and allocate the
metadata blocks for the new block groups, make sure all of these
blocks are marked as reserved.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reported-by: John Jolly <john.jolly@gmail.com>
esize/resize2fs.c
871ad942641b604631a9d33a7008e073ba946a9e 13-Mar-2013 Theodore Ts'o <tytso@mit.edu> blkid: remove no-op statement which caused a clang warning

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/blkid/probe.c
16b1fcf87d269ed6339be09ae84a4f833108f9c4 13-Mar-2013 Theodore Ts'o <tytso@mit.edu> debugfs: fix command failures for extent_inode commands that take arguments

The extent_inode commands split_node, replace_node, and insert_node
take arguments which resulted in confusing error messages after
succeeding. Fix this.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/extent_inode.c
d3f58ef166dea70f1e3e7a09b19c3ec964eb1730 13-Mar-2013 Theodore Ts'o <tytso@mit.edu> e2fsck: fix build failure with --enable-jbd-debug

Commit e3507739e4185 introduced a build failure if e2fsprogs is
configured with --enable-jbd-debug. Fix this.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/recovery.c
5084088215242e5839fa482dd25e06a127aba311 25-Feb-2013 Jan Kara <jack@suse.cz> libext2fs: Provide prototype for ext2fs_symlink()

New function ext2fs_symlink() doesn't have a prototype in ext2fs.h and
thus debugfs compilation gives warning:

debugfs.c:2219:2: warning: implicit declaration of function 'ext2fs_symlink'

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/ext2fs.h
9e20cf223ad6e44536f7e3116413cc8a445618c7 25-Feb-2013 Jan Kara <jack@suse.cz> e2p: Fix 's' handling in parse_num_blocks2()

parse_num_blocks2() wrongly did:
num << 1;
when log_block_size < 0. That is obviously wrong as such statement has
no effect (and the compiler properly warns about it). Callers expect
returned value to be in bytes when log_block_size < 0 so fix the
statement accordingly.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/e2p/parse_num.c
bb21ddf59611cc883eeb3c3d149eae35eae9ae30 23-Feb-2013 Theodore Ts'o <tytso@mit.edu> chattr: allow clearing the extent flag

In order to support kernels which support conversion of extent-mapped
files to direct/indirect mapped files, remove the sanity check which
prevented clearing the extent flag in chattr. Kernels which don't
support this will simply give an Operation Not Supported error.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/chattr.c
7c1384c3242a7ff4e60d40e674077c0c5b124a4d 28-Jan-2013 Theodore Ts'o <tytso@mit.edu> debugfs: add sanity check to make sure we never shift 64 bits right

In the tables which are used to parse the fields for the set_fields
command, there should never be a entry which has a size set to 8
bytes, and two pointers defined. Not only would it result in
undefined behavior in the compiled code, it doesn't make any sense and
is definitely a bug.

Reported-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/set_fields.c
1bdc4f306a9dfc3d946dd951e26e9ef0177f726f 28-Jan-2013 Philipp Thomas <pth@suse.de> po: update de.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/de.gmo
o/de.po
0d89e5acea99fc00d9b834eab6d228c47a71920a 28-Jan-2013 Philipp Thomas <pth@suse.de> Fix warnings about functions not returning a value

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/gen_bitmap64.c
esize/main.c
b55705e0ba83147f16a3abb955f3761f78b7db94 28-Jan-2013 Andreas Dilger <adilger@dilger.ca> build: quiet build warnings for "gcc -Wall"

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfig/parse-types.sh
ib/ext2fs/alloc_sb.c
dc18a3b3052c0bd1a6204a06cd9e79c76f6946fa 25-Jan-2013 Zheng Liu <wenqing.lz@taobao.com> contrib: add missing '-p' to fallocate's usage message

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ontrib/fallocate.c
274d46e1d35af423d0292d63c4d0ad7a03be82ba 24-Jan-2013 Phillip Susi <psusi@ubuntu.com> libext2fs: fix ext2fs_llseek on i386

ext2fs_llseek() was using lseek instead of lseek64. The
only time it would use lseek64 is if passed an offset that
overflowed 32 bits. This works for SEEK_SET, but not
SEEK_CUR, which can apply a small offset to move the file
pointer past the 32 bit limit.

The code has been changed to instead try lseek64 first, and
fall back to lseek if that fails. It also was doing a
runtime check of the size of off_t. This has been moved to
compile time.

This fixes a problem which would cause e2image when built for
x86-32 to bomb out when used with large file systems.

Signed-off-by: Phillip Susi <psusi@ubuntu.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure.in
ib/config.h.in
ib/ext2fs/llseek.c
511ba985c0821d07a6274515e35cbf5a3c81077d 22-Jan-2013 Theodore Ts'o <tytso@mit.edu> Update Release Notes, Changelogs, version.h, for final 1.42.7 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ELEASE-NOTES
ebian/changelog
2fsprogs.lsm
o/e2fsprogs.pot
ersion.h
a713a7fe5a929c0e1307e6bded8ac66805c7e748 22-Jan-2013 Theodore Ts'o <tytso@mit.edu> mke2fs, tune2fs, resize2fs: add warning messages for bigalloc and quota

The bigalloc and quota features have some known issues, so issue
warnings in case users try to use them.

More information can be found here:
https://ext4.wiki.kernel.org/index.php/Bigalloc
https://ext4.wiki.kernel.org/index.php/Quota

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
isc/tune2fs.c
esize/main.c
c64929d9c36b971567e2fc45458cc7157d860e7a 21-Jan-2013 Theodore Ts'o <tytso@mit.edu> contrib: fix namespace leakage in spd_readdir

Declare the internal symbols alloc_dirstruct() and cache_dirstruct()
as static so they don't leak out into the global namespace.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ontrib/spd_readdir.c
0b64f50f71ff94ab4c300caf92623792d3e8a2b3 21-Jan-2013 Theodore Ts'o <tytso@mit.edu> contrib: add thread locking and readdir64_r support to spd_readdir

This is part of a series of improvements from a 2008 version of
spd_readdir.c that somehow didn't make it into the version which we
checked into e2fsprogs git tree.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ontrib/spd_readdir.c
635c7a57c0c4b2882b3d6af14ae8aabc4c6947c0 21-Jan-2013 Theodore Ts'o <tytso@mit.edu> contrib: add safe_getenv() support to spd_readdir

This is part of a series of improvements from a 2008 version of
spd_readdir.c that somehow didn't make it into the version which we
checked into e2fsprogs git tree.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ontrib/spd_readdir.c
d1a1a583c13dd43e828f28c9c93cc53df715c891 20-Jan-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: move a cluster at a time with bigalloc file systems

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
1773c87c7e9ee5c4b8753919320d6d06910ea25b 20-Jan-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: correctly account for clusters when calculating summary stats

Fixes resize2fs so it correctly calculates the number of free clusters
in each block group for file systems with the bigalloc feature
enabled.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
3e1816b8cc9086354453bd75aaaeade558f98b3e 20-Jan-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: teach the ext2fs_*_block_bitmap_range2() about clusters

The ext2fs_{mark,unmark,test}_block_bitmap2() functions understand
about clusters, and will take block numbers and convert them to
clusters before checking the bitmap. The
ext2fs_*_block_bitmap_range2() functions did not do this, which made
them inconsistent. Fortunately, nothing has depended on this
incorrect behavior, and in fact most of the usage of these functions
have only recently been added, and only for optimizations that were
only enabled for non-bigalloc file systems.

So this is a change in previously exported functions, but (a) it
doesn't change the behavior at all for non-bigalloc file systems, and
(b) the change is more likely to fix bugs for bigalloc file systems.
For example, this change fixes a problem with resize2fs and bigalloc
file systems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/gen_bitmap64.c
8359f626a4e94757312f68759366f06c9ad4c1ac 16-Jan-2013 Theodore Ts'o <tytso@mit.edu> Update Release Notes, Changelogs, version.h, etc. for 1.42.7 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ELEASE-NOTES
ebian/changelog
2fsprogs.lsm
o/e2fsprogs.pot
ersion.h
921b79bcfd40a704622e23b7cd6735e88d7e4f1b 16-Jan-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: check in test-resize script

This should be made into a more formal, automated test case, but for
now, save this as script since it's useful for validating resize2fs's
handling of very large file systems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/test-resize
c253c3b982466d649458c40fde0bf26427515f79 16-Jan-2013 Theodore Ts'o <tytso@mit.edu> Update config.{guess,sub} to the latest version

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfig/config.guess
onfig/config.sub
6b9722db496afe6af758367971fc4ccaf44c392f 16-Jan-2013 Trần Ngọc Quân <vnwildman@gmail.com> po: update vi.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/vi.gmo
o/vi.po
ad35a91e3b19c754a3c78387661f945869333ec1 16-Jan-2013 Göran Uddeborg <goeran@uddeborg.se> po: update sv.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/sv.gmo
o/sv.po
b675f588357b528f365887f4e786c81ba429927d 16-Jan-2013 Jakub Bogusz <qboosh@pld-linux.org> po: update pl.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/pl.gmo
o/pl.po
667c54f39048d25f2003383ba3e3955a5702b747 16-Jan-2013 Benno Schulenberg <benno@vertaalt.nl> po: update nl.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/nl.gmo
o/nl.po
14620a1d03b8aaffcbe00a6ac3541f8d2d7a7c22 16-Jan-2013 Samuel Thibault <samuel.thibault@ens-lyon.org> po: update fr.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/fr.gmo
o/fr.po
d027517fb657e0d0f652fa570ff236538e6cd3bf 16-Jan-2013 Philipp Thomas <pth@suse.de> po: update de.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/de.gmo
o/de.po
4af197366dca114e21890ef04619bb54dfd3b610 16-Jan-2013 Petr Pisar <petr.pisar@atlas.cz> po: update cs.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/cs.gmo
o/cs.po
3bbb613ccb96e1ab3b33a0f1d1b1308f20da98a5 16-Jan-2013 Theodore Ts'o <tytso@mit.edu> Update misc/Makefile.in using "make depend"

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/Makefile.in
0e51f5ae16a386c66f5643119fa549b4a58d4ac3 15-Jan-2013 Phillip Susi <psusi@ubuntu.com> e2image: add -a switch to include all data

Normally the raw and QCOW2 images only contain fs metadata.
Add a new switch ( -a ) to include all data. This makes it
possible to use e2image to clone a whole filesystem.

Signed-off-by: Phillip Susi <psusi@ubuntu.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.8.in
isc/e2image.c
390e49aab7e96e9087f31870b0e876d95ed8d590 15-Jan-2013 Theodore Ts'o <tytso@mit.edu> tests: create test for debugfs creating special files

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/d_special_files/expect
ests/d_special_files/name
ests/d_special_files/script
e1e961cb808e7192d5b4760c9e467e8cfafc392d 15-Jan-2013 Theodore Ts'o <tytso@mit.edu> debugfs: fix mknod command so that it updates the block group statistics

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.c
4df6a37bd39c84ea67394ab5049bc82f14b929b5 04-Jan-2013 Darren Hart <dvhart@infradead.org> debugfs: add symlink command

Add support for symbolic links using a new symlink command. Modeled
after the do_mkdir() command.

Testing demonstrates both fastlinks and slowlinks work correctly.
Very long target paths fail as the command parsing appears to truncate
the input to somewhere around 256 bytes.

Signed-off-by: Darren Hart <dvhart@infradead.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: Andreas Dilger <adilger@dilger.ca>
ebugfs/debug_cmds.ct
ebugfs/debugfs.8.in
ebugfs/debugfs.c
ebugfs/debugfs.h
f01c1a6bce5e6674cbfa5260db1691bca01a4410 04-Jan-2013 Darren Hart <dvhart@infradead.org> libext2fs: add the ext2fs_symlink() function

Creating symlinks is a complex affair when accounting for slowlinks.

Create a new function, ext2fs_symlink(), modeled after ext2fs_mkdir().
Like ext2fs_mkdir(), ext2fs_symlink() takes on the task of allocating a
new inode and block (for slowlinks), setting up sane default values in
the inode, copying the target path to either the inode (for fastlinks)
or to the first block (for slowlinks), and accounting for the inode and
block stats. Disallow link targets longer than blocksize as the Linux
kernel prevents this.

It does not attempt to expand the parent directory, instead returning
EXT2_ET_DIR_NO_SPACE and leaving it to the caller to expand just as
ext2fs_mkdir() does. Ideally, I think both of these functions should
make a single attempt to expand the directory.

[ Fixed a few bugs discovered when creating a test case for ext2fs_symlink() ]

Signed-off-by: Darren Hart <dvhart@infradead.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: Andreas Dilger <adilger@dilger.ca>
ebian/e2fslibs.symbols
ib/ext2fs/Makefile.in
ib/ext2fs/ext2_err.et.in
ib/ext2fs/symlink.c
53f2a1eaf051b9ef8a2927cdd7d6de281c8d5a03 16-Jan-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: add error codes from 1.43.x development branch

To maintain the error codes numbering, we need to pull in the changes
from the 1.43.x development branch for the libext2's error table.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ext2_err.et.in
0f680ee8f2b6de9e4d07e1b1964899ef87c76f15 13-Jan-2013 Zheng Liu <wenqing.lz@taobao.com> mke2fs: document bigalloc and cluster-size

Bigalloc feature has been used for a long time, but the documentation
in mke2fs is still missing. So add it.

Addresses-Debian-Bug: #669730

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/mke2fs.8.in
dd4f565d5ac3b1f37100291fb1cd067dd0d55d05 15-Jan-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: avoid 32-bit overflow in ext2fs_initialize with a 512M cluster size

If the user attemps to create a 512MB cluster, we need to adjust the
defaults to avoid a 32-bit overflow of s_blocks_per_group. Also check
to make sure that the caller of ext2fs_initialize() has not given a
value of s_clusters_per_group that would result in an overflow of
s_blocks_per_group.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
ib/ext2fs/initialize.c
86a985e74987b08090ecbacf3d02c8d80594c809 15-Jan-2013 Theodore Ts'o <tytso@mit.edu> mke2fs: teach mke2fs to understand -b 4k and -C 256M

The -b and -C options now use parse_num_blocks2() instead of strtol,
so that users can specify -C 256M instead of the much less convenient
-C 268435456.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
isc/mke2fs.c
35d886b67947dcb802da09306b6a85f1e9f99865 15-Jan-2013 Theodore Ts'o <tytso@mit.edu> libe2p: teach parse_num_blocks2() to return bytes if log_block_size < 0

Previously the behavior of parse_num_block2 was undefined if
log_block_size was less than zero. It will now return a number in
units of bytes.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
ib/e2p/parse_num.c
2a3b1c6ea29db5d5dfe4602d0b0adfda88068de6 14-Jan-2013 Theodore Ts'o <tytso@mit.edu> mke2fs: the -g option will now specify the clusters per block group

If bigalloc is enabled, then -g will specify the clusters per block
group. (If bigalloc is not enabled, then a cluster == a block, so the
meaning of -g is not changed.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
isc/mke2fs.c
4b20ea2691b3408340036d16e62867d5c52078e3 14-Jan-2013 Theodore Ts'o <tytso@mit.edu> mke2fs: enforce that the cluster size must be greater that the block size

In addition, do not allow a cluster size of 1024, since that will be
interpreted by ext2fs_initialize() as requesting the default cluster
size.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Reported-by: Zheng Liu <wenqing.lz@taobao.com>
isc/mke2fs.c
9cf69bb825c2995352502f48ea64d1be1d263995 13-Jan-2013 Zheng Liu <wenqing.lz@taobao.com> mke2fs: require the bigalloc feature explicity if the cluster size is set

When cluster-size is specified without the bigalloc feature, mke2fs
will ignore this argument silently. But user might think bigalloc
feature has been enabled unless they use the dumpe2fs command. So now
we ask user to set bigalloc feature explicity when cluster-size is
enabled. This can make sure that users understand what they are doing
because bigalloc might impact the performance for some workloads.

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
9e85208e84bbdea9cfe6e8887502a1c4d92efbe5 14-Jan-2013 Theodore Ts'o <tytso@mit.edu> debugfs: fix gcc-wall complaints

Fix the missing function prototypes from the recently added new
debugfs commands, plus some signed vs unsigned comparison complaints.

Also change the abbreviation of the block_dump command from "bp" to
the more appropriate "bp".

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debug_cmds.ct
ebugfs/debugfs.c
ebugfs/debugfs.h
ebugfs/extent_inode.c
ebugfs/zap.c
5a760d4906c620ef84886378db5eff28bdbd2e96 12-Jan-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: add debugging code to test the old online resizing interfaces

The old online resize ioctl interfaces are still present in the
kernel, and we want to make it easy to test both the kernel code for
those older interfaces, and resize2fs's use of those interfaces in a
relatively easy manner.

To do this, resize2fs will now check the environment variable
RESIZE2FS_KERNEL_VERSION. If the version given is less than 3.3, then
do not try using the new resizing ioctl, but instead use the resizing
ioctls that were used before Linux version 3.3.

If the version given is less than 3.7, then emulate sanity checks
which get done to protect against the fact that the new resizing ioctl
prior to 3.7 did not handle meta_bg resizing. (This was previously
tested via the presence of the RESIZE2FS_NO_META_BG_RESIZE environment
variable. But the new environment variable, RESIZE2FS_KERNEL_VERISON,
is more general.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
esize/online.c
85a24385b6702ca207165a18bc08fb92f5e6c986 11-Jan-2013 Eric Sandeen <sandeen@redhat.com> debugfs: document zap_block & block_dump

What little docs there were had a cut & paste error.
We can do better. :)

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ebugfs/debug_cmds.ct
ebugfs/debugfs.8.in
da489dd2f3287b644c792c4e7ffb530a8ae0b9a2 04-Jan-2013 Eric Whitney <enwlinux@gmail.com> config: silence printf format warnings

The printfs in the asm_types.c code contained within parse-types.sh
expect sizeof to return an int. Fix this for architectures where this
isn't true (x86_64, etc.) so we don't see warning messages while
running the configure script.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfig/parse-types.sh
f0257d8891c602cabc7358a5ca826444a172ccf5 09-Jan-2013 Theodore Ts'o <tytso@mit.edu> libext2fs: ext2fs_open2() should not set ret_fs after a MMP failure

The addition of MMP code was added in the wrong place, so ret_fs could
get set (and EXT2_FLAG_NOFREE_ON_ERROR was cleared as well, which
could confuse e2fsck which depends on this flag being cleared if
ext2fs_open2() succeeded.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/openfs.c
a046da5963649663933cf16d54ca2a892cc1a560 08-Jan-2013 Nickolai Zeldovich <nickolai@csail.mit.edu> e2fsck: avoid memory corruption on ext2fs_open2 failure

In try_open_fs(), if ext2fs_open2() returns an error, do not try to
access the struct ext2_filesys. The previous check 'if (ret_fs)' was
always true, but even 'if (*ret_fs)' might be incorrect in some cases,
so check 'retval==0' instead.

Signed-off-by: Nickolai Zeldovich <nickolai@csail.mit.edu>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/unix.c
6dd83548f4193f8bfd7983240471db0d0c7af626 08-Jan-2013 Nickolai Zeldovich <nickolai@csail.mit.edu> e2fsck: do not crash on long log file names

Previously e2fsck would corrupt memory if the log file name was longer
than 100 bytes (e.g., a long log_filename value in e2fsck.conf or a
pattern that expands out to more than 100 bytes). This was due to
incorrectly calling realloc() in append_string() on the struct string
instead of the malloc'ed char* buffer, among other problems. This
patch fixes the call to realloc() and also ensures that the buffer is
grown by sufficiently many bytes (not just by 2x).

Signed-off-by: Nickolai Zeldovich <nickolai@csail.mit.edu>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/logfile.c
bf50beb9f6b4c4d4c9f8fc7fc81d716a9ee79218 07-Jan-2013 Eric Sandeen <sandeen@redhat.com> e2fsck: show size requested when memory allocation fails

"e2fsck: Can't allocate dx_block info array"
is only so helpful - it'd be nice to know how much it tried to allocate.

In particular, since I think malloc(0) can return NULL,
it'd be nice to know if maybe we passed in an uninitialized (or
0-initialized) size.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/util.c
f45011df2bea466209a4b2701f2770b24518bbac 06-Jan-2013 Zheng Liu <wenqing.lz@taobao.com> mke2fs: check extents feature when bigalloc feature is enabled

When bigalloc feature is enabled in mkfs, extents feature also needs
to be enabled. But now when bigalloc feature is enabled without
extents feature, users will not get any warning messages until they
try to mount this file system.

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
027b0577d4e5081a4d28dff9289559d38a36d533 03-Jan-2013 Theodore Ts'o <tytso@mit.edu> Fix 32-bit overflow problems: dgrp_t * s_blocks_per_group

There are a number of places where we multiply a dgrp_t with
s_blocks_per_group expecting that we will get a blk64_t. This
requires a cast, or using the convenience function
ext2fs_group_first_block2().

This audit was suggested by Eric Sandeen.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
2fsck/super.c
ib/ext2fs/alloc.c
ib/ext2fs/extent.c
ib/ext2fs/mkjournal.c
esize/resize2fs.c
a0ba54ec00abce6ce9e7e5f2d5f6e0899559ebb8 03-Jan-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: use [un]mark_block_range bitmap functions to reduce CPU usage

Use ext2fs_[un]mark_block_range2() functions to reduce the CPU
overhead of resizing large file systems by 45%, primarily by
reducing the time spent in fix_uninit_block_bitmaps().

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/alloc_sb.c
esize/resize2fs.c
1eb31c4885156b595e6ceb4516cb1e1fb2d251fd 03-Jan-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: add resource tracking as a debug option

Add a new debug flag which prints how much time is consumed by the
various parts of resize2fs's processing.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/Makefile.in
esize/resize2fs.8.in
esize/resize2fs.c
esize/resize2fs.h
esize/resource_track.c
2279fd78fe875e612ff998fe658a2c18ee13c66b 03-Jan-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: fix 32-bit overflow when calculating the number of free blocks

This caused the free blocks count in the superblock to be incorrect
after resizing a 64-bit file system if the number of free blocks
overflowed a 32-bit value.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
5d3a88fbe9e0291d7d5baa8391cbd78d9cc29767 03-Jan-2013 Theodore Ts'o <tytso@mit.edu> resize2fs: fix 32-bit overflow issue which can corrupt 64-bit file systems

Fix a 32-bit overflow bug caused by a missing blk64_t cast which can
cause the block bitmap to get corrupted when doing an off-line resize
of a 64-bit file system.

This problem can be reproduced as follows:

rm -f foo.img; touch foo.img
truncate -s 8T foo.img
mke2fs -F -t ext4 -O 64bit foo.img
e2fsck -f foo.img
truncate -s 21T foo.img
resize2fs foo.img
e2fsck -fy foo.img

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
ccfedb17b110d8eec6343a1c3a6a2437fea4dbc2 02-Jan-2013 Theodore Ts'o <tytso@mit.edu> Clean up texinfo files

Fix up the com_err.texinfo file so it will produce a valid printed
output, by cleaning up some errors in the texinfo file, and updating
texinfo.tex to be consistent with the version in the doc subdirectory.

Also add rules so we can generate pdf and ps files from
com_err.texinfo and libext2fs.texinfo.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
oc/Makefile.in
oc/libext2fs.texinfo
ib/et/Makefile.in
ib/et/com_err.texinfo
ib/et/texinfo.tex
73c427d2a3f28c34280e51db76e580d9730c0cbf 01-Jan-2013 Theodore Ts'o <tytso@mit.edu> Update changelogs for 1.42.7 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
EADME
ELEASE-NOTES
ebian/changelog
oc/libext2fs.texinfo
ersion.h
d3b4de412c7710b7d5f05774dedd1e298d2c750b 01-Jan-2013 Zheng Liu <wenqing.lz@taobao.com> debugfs: fixup the hard-coded buffer length in dump_file

Allocate the block buffer in dump_file() instead of assuming that the
block size is no more than 8k.

CC: George Spelvin <linux@horizon.com>
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/dump.c
cc5f27eb387fb2e33b4d83caca89a0471bf09863 01-Jan-2013 Theodore Ts'o <tytso@mit.edu> debain: update e2fslibs.symbols with newly exported functions

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/e2fslibs.symbols
e3507739e4185bdb2394928eb6479e48f4e690a8 01-Jan-2013 Theodore Ts'o <tytso@mit.edu> Fix gcc -Wall nits

This fixes the last set of gcc -Wall complaints.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/extent_inode.c
ebugfs/htree.c
ebugfs/zap.c
2fsck/pass1.c
2fsck/recovery.c
2fsck/rehash.c
2fsck/unix.c
2fsck/util.c
ib/e2p/getversion.c
ib/ext2fs/blkmap64_rb.c
ib/ext2fs/imager.c
ib/ext2fs/openfs.c
isc/e2initrd_helper.c
isc/filefrag.c
isc/tune2fs.c
2508eaa71e8bbe93155052ded448e5e78d213715 22-Nov-2012 Andreas Dilger <adilger@whamcloud.com> filefrag: improvements to filefrag FIEMAP handling

Update the filefrag program to allow displaying the extents in
some different formats. Try and stay within 80 columns.
* add -k option to print extents in kB-sized units (like df -k)
* add -b {blocksize} to print extents in blocksize units
* add -e option to print extent format, even when FIBMAP is used
* add -X option to print extents in hexadecimal format

Internally, the FIBMAP handling code has been moved into its own
function like FIEMAP, so that the code is more modular. Extent
offsets are now handled in bytes instead of in blocks, to allow
printing extents with arbitrary block sizes. The extent header
printing also moved into its own function so that it can be shared
between the FIEMAP and FIBMAP handling routines, since it got more
complex with the different output options.

Only print error about FIBMAP being root-only a single time.
Print the filesystem type if it changes between specified files.
Add fsync() for FIBMAP if "-s" is given.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/filefrag.8.in
isc/filefrag.c
0ce0172984c807d3366e8db6e2a2b6ecae314832 29-Nov-2012 Andreas Dilger <adilger@dilger.ca> libquota: quiet log_err() bad format warnings

The macro for log_err() was written so that it needed to always
have an argument, but GCC was unhappy to have an argument when
none was specified in the format string. Use the CPP "##" to
eat the preceeding comma if no argument is specified.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/quota/common.h
ib/quota/mkquota.c
ib/quota/quotaio.c
ib/quota/quotaio_tree.c
ib/quota/quotaio_v2.c
00eb0eee0addfd3b7ede98b85e00dff1547838a0 29-Nov-2012 Andreas Dilger <adilger@dilger.ca> build: quiet some "gcc -Wall" compiler warnings

Quiet a number of simple compiler warnings:
- pointers not initialized by ext2fs_get_mem()
- return without value in non-void function
- dereferencing type-punned pointers
- unused variables

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/message.c
2fsck/problem.c
2fsck/recovery.c
2fsck/region.c
2fsck/sigcatcher.c
ib/blkid/probe.c
ib/ext2fs/crc32c.c
ib/ext2fs/dblist.c
ib/ext2fs/qcow2.c
ib/ext2fs/tst_bitmaps.c
ib/quota/mkquota.c
isc/filefrag.c
1d6fd6d0c3766a8165e69284c75812574a29c804 29-Nov-2012 Andreas Dilger <adilger@dilger.ca> misc: cleanup unused variables on MacOS

Clean up unused variables found by GCC on MacOS.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/unix.c
2fsck/util.c
ib/ext2fs/blkmap64_rb.c
ib/ext2fs/bmap.c
ib/ext2fs/ismounted.c
ib/ext2fs/mkjournal.c
ib/ext2fs/rw_bitmaps.c
ib/ext2fs/unix_io.c
ib/quota/quotaio.c
ib/uuid/gen_uuid.c
isc/badblocks.c
isc/ismounted.c
isc/mke2fs.c
f797cf3e37b476aac593fe9a9f4630448d335332 29-Nov-2012 Andreas Dilger <adilger@dilger.ca> tests: don't consider "make check" a compiler error

In a number of places, the output format from "make check" is
incorrectly interpreted as compiler warning output (triggered by
the presence of colons and parenthesis in the output). Convert
these lines to similar output that does not trigger false build
warnings.

In the case of the tst_uuid.c program, the "ctime()" output was
difficult to change, but in fact it is better to actually compare
the time-based UUID against wallclock time instead of just printing
the formatted time as a string, so this test is improved.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/csum.c
ib/ext2fs/inline.c
ib/uuid/tst_uuid.c
831f309c624d77e41c83ee7c55d900e347cd44fe 29-Dec-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: create optimized flex_bg block groups

Now that we are reserving all of the bg-specific metadata before we
try to allocate the metadata for the new block groups, we don't have
to temporarily disable the flex_bg feature flag while we allocate the
new metadata blocks --- this allows the newly created block groups to
have a much more optimized layout, instead of fragmenting the inode
table and block/inode bitmaps in sepraate block groups.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
42519becdafda2be9ca3fcfc8188b85592c71d86 29-Dec-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: allow resizing flex_bg && !resize_inode file systems

With the bug fixes from the last two commits, resize2fs can now fully
support off-line resizing of file systems with flex_bg even if the
resize_inode feature is not present; so we no longer need to disallow
this combination.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/main.c
ddcf1dbff2b8523c2207fbebaa4e5f42880dd2a3 29-Dec-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: handle bg descriptors which overlap with other bg's metadata

With flex_bg file systems, bg-specific metadata (i.e., bitmaps and the
inode table blocks) can be located in another block group. Hence,
when we grow the number of block group descriptors, we need to check
if we need to relocate metadata blocks not just for the block group
where the bgd blocks are located, but in all block groups.

This change fixes the following test case:

rm -f foo.img; touch foo.img
truncate -s 32G foo.img
mke2fs -F -t ext4 -E resize=12582912 foo.img
e2fsck -f foo.img
truncate -s 256G foo.img
./resize2fs foo.img
e2fsck -fy foo.img

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
4b04fb30e01c7418331caa01ecf071bd55672f1a 29-Dec-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: reserve all metadata blocks for flex_bg file systems

For flex_bg file systems, if we need to relocate an allocation bitmap
or inode table, we need to make sure that all metadata blocks have
been reserved, lest we end up overwriting a metadata block belonging
to a different block group.

This change fixes the following test case:

rm -f foo.img; touch foo.img
truncate -s 32G foo.img
mke2fs -F -t ext4 -E resize=12582912 foo.img
e2fsck -f foo.img
truncate -s 64G foo.img
./resize2fs foo.img
e2fsck -fy foo.img

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
2ebaeb35dba540f5de578c848a5d1787d0ef2720 29-Dec-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: reserve fs metadata blocks first in blocks_to_move()

This is the first commit to add support for off-line resizing using
flex_bg without the assist of using the resize_inode to reserve gdt
blocks. This functionality has been broken up into separate commits
which are hopefully obviously correct to make them easier to review
for correctness.

In this first step, we break up the for loop at the end of
blocks_to_move() so that we first mark all of the metadata blocks
which don't need to be moved in the reserve_blocks bitmap, and then
try to allocate the metadata blocks are new or which need to moved
second.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
49cdefd3312c5ac81ec5d233d62441281ad26e55 29-Dec-2012 Theodore Ts'o <tytso@mit.edu> mke2fs: fix crash when parsing "-E resize=NNN" with "-O 64bit"

If the 64-bit file system feature is enabled, then mke2fs would crash
due to a divide-by-zero error caused by s_desc_size not being
initialized yet.

Reported-by: George Spelvin <linux@horizon.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
0e5e7284ab7e70d77995754bf78f530a33d71d86 15-Dec-2012 Filipe Brandenburger <filbranden@google.com> debian: use more specific library file names in *.files

This patch specifies libraries using a more specific glob that will pick
only the lib*.so.<version> file and will not match the lib*.so symlink
and the lib*.a archive/static library.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/e2fslibs-dev.files.in
ebian/e2fslibs.files.in
ebian/libblkid-dev.files.in
ebian/libblkid1.files.in
ebian/libcomerr2.files.in
ebian/libss2.files.in
ebian/libuuid1.files.in
efd968732ce068ddefe399775724ee6a26550e04 15-Dec-2012 Filipe Brandenburger <filbranden@google.com> debian: look for quota.pc and libquota.a from root of install tree

The rules makefile was already using `find' in order to cope with
multi-arch directories under /usr/lib. This patch changes it to look for
those files from the root of the install tree. This allows for
installing to libdirs of /usr/lib64 or /lib or /lib64. There are no
other files with the same names in the package so it's not a problem to
find from the root of the tree.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/rules
9aaa4eabd18f4917c198e8f27b02c679a5361c49 15-Dec-2012 Filipe Brandenburger <filbranden@google.com> debian: add make variable to pass extra parameters to configure

Setting EXTRA_CONF_FLAGS in rules.custom will pass the extra arguments
to calls of ./configure when building e2fsprogs. This can be used, for
instance, to pass a --libdir argument or similar to the configure
script.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/rules
a8ffb5c2c4061fa90ded0851452b52cb44e1638d 15-Dec-2012 Filipe Brandenburger <filbranden@google.com> debian: add make variable to prevent building e2fsck.static package

Setting BUILD_E2FSCK_STATIC=no in rules.custom will prevent the
debian/rules makefile from building a statically-linked e2fsck and
from creating a deb package for it.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/control.in
ebian/rules
ba75d9e2088065ad8fe233a1fb74f6b5c8435b7d 24-Dec-2012 Theodore Ts'o <tytso@mit.edu> debugfs: add the commands "zap_block" and "block_dump"

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/Makefile.in
ebugfs/debug_cmds.ct
ebugfs/zap.c
e329f67ba5d4555d3ee317e5fe3c665b3ac368bc 23-Dec-2012 Darren Hart <dvhart@infradead.org> libext2fs: fix spelling typo in texinfo docs

Signed-off-by: Darren Hart <dvhart@infradead.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Andreas Dilger <adilger@dilger.ca>
oc/libext2fs.texinfo
37cdbee0c0b92b1284bc6cad66adf2c37a40f032 23-Dec-2012 Theodore Ts'o <tytso@mit.edu> configure.in: require at least autoconf 2.54

AC_PROG_EGREP requires autoconf 2.54, so bump up the AC_PREREQ
accordingly.

Reported-by: g.esp@free.fr
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure.in
068136c31e6fb7d6508d59190eeab6257340075c 23-Dec-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: link the test programs with static libraries

Force the use of the static libraries when linking the test program so
that "make check" works when the shared libraries have not been
installed, and so that we test against the version of the libraries in
the source tree.

Reported-by: g.esp@free.fr
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/Makefile.in
2168df757a5280a3fb004144665090b80d59357b 23-Dec-2012 Theodore Ts'o <tytso@mit.edu> debugfs: add a makefile rule to build debugfs.static

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/Makefile.in
bee7b67ce92bb912fccc0dcce3c71c186c2a988b 23-Dec-2012 Theodore Ts'o <tytso@mit.edu> debugfs: add the ability to manipulate the extent tree directly

This commit adds the functionality which had previously only been in
the tst_extents command to debugfs. The debugfs command extent_open
will open extent tree of a particular inode, and enables a series of
commands which will allow the user to interact with the extent tree
directly. Once the extent tree is closed via extent_open(), these
additional commands will be disabled again.

This commit exports two new functions from lib/ext2fs/extent.c which
had previously been statically defined: ext2fs_extent_node_split() and
ext2fs_extent_goto2().

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/Makefile.in
ebugfs/debug_cmds.ct
ebugfs/debugfs.c
ebugfs/debugfs.h
ebugfs/extent_cmds.ct
ebugfs/extent_inode.c
ebugfs/ro_debug_cmds.ct
ib/ext2fs/Makefile.in
ib/ext2fs/ext2fs.h
ib/ext2fs/extent.c
ib/ext2fs/extent_dbg.ct
b4944f654cac5f70edd80d12e59bf1212047cb5d 21-Dec-2012 Theodore Ts'o <tytso@mit.edu> tests: add test of an incorrect interior node in an extent tree

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/f_extent_interior_start_lblk/expect.1
ests/f_extent_interior_start_lblk/expect.2
ests/f_extent_interior_start_lblk/image.gz
ests/f_extent_interior_start_lblk/name
29e8e74e02ae742874c8c37012da1e04a858eb2f 21-Dec-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: make sure the extent tree is consistent after bogus node in the tree

Commit 789bd401c3 ("e2fsck: fix incorrect interior node logical start
values") surfaced a bug where if e2fsck finds and removed an invalid
node in the extent tree, i.e.:

Inode 12 has an invalid extent node (blk 22, lblk 0)
Clear? yes

It was possible for starting logical blocks found in the interior
nodes of the extent tree. Commit 789bd401c3 added the ability for
e2fsck to discover this problem, which resulted in the test
f_extent_bad_node to fail when the second pass of e2fsck reported the
following complaint:

Interior extent node level 0 of inode 12:
Logical start 0 does not match logical start 3 at next level. Fix? yes

This patch fixes this by adding a call to ext2fs_extent_fix_parents()
after deleting the bogus node in the extent tree.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass1.c
eacf6a0878a92836231ee69813cb8764d21140f9 21-Dec-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: ext2fs_extents_fix_parents() should not modify the handle location

Previously, ext2fs_extent_fix_parents() would only avoid modifying the
cursor location associated with the extent handle the cursor was
pointed at a leaf node in the extent tree. This is because it saved
the starting logical block number of the current extent, but not the
"level" of the extent (where level 0 is the leaf node, level 1 is the
interior node which points at blocks containing leaf nodes, etc.)

Fix ext2fs_extent_fix_parents() so it is guaranteed to not change the
current extent in the handle even if the current extent is not at the
bottom of the tree.

Also add a fix_extent command to the tst_extents program to make it
easier to test this function.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/extent.c
ib/ext2fs/extent_dbg.ct
789bd401c3bce85d3c2ae4504ca62509aa0a8b88 20-Dec-2012 Eric Sandeen <sandeen@redhat.com> e2fsck: fix incorrect interior node logical start values

An index node's logical start (ei_block) should
match the logical start of the first node (index
or leaf) below it. If we find a node whose start
does not match its parent, fix all of its parents
accordingly.

If it finds such a problem, we'll see:

Pass 1: Checking inodes, blocks, and sizes
Interior extent node level 0 of inode 274258:
Logical start 3666 does not match logical start 4093 at next level. Fix<y>?

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass1.c
2fsck/problem.c
2fsck/problem.h
ib/ext2fs/ext2fs.h
ib/ext2fs/extent.c
dbe5c43b2e6fcc8fe831a134fbc3dda1f5dd0733 17-Dec-2012 Mikael Pettersson <mikpe@it.uu.se> libext2fs: remove m68k-specific bitops code

The current m68k code was buggy for multiple reasons; first the bfset,
et. al commands interpret the bit number as a signed number, not an
unsigned number. Secondly, there were missing memory clobbers. Since
there is no real benefit in using explicit asm's at this point (gcc is
smart enough to optimize the generic C code to use the set/clear/test
bit m68k instruction) fix this bug by removing the m68k specific asm
versions of these functions.

Tested on m68k-linux with e2fsprogs-1.42.6 and gcc-4.6.3 as before.
All tests pass and the debug output looks sane.

I compared the e2fsck binaries from the previous build with this
one. They had identical .text sizes, and almost the same number
of bit field instructions (obviously compiler-generated), so this
change should have no serious performance implications.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Andreas Schwab <schwab@linux-m68k.org>
ib/ext2fs/bitops.h
4e0bb5eb745009decac4c5836671ff4bef21ce2a 17-Dec-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: fix memory and fd leak in error path of unix_open()

Fix a potential memory leak reported by Li Xi. In addition, there
were possible error cases where the file descriptor would not be
properly closed, so fix those as well while we're at it.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reported-by: Li Xi <pkuelelixi@gmail.com>
ib/ext2fs/unix_io.c
1564150d3111f95317073ebc853b79aa5307cff5 17-Oct-2012 Gregoire Pichon <gregoire.pichon@bull.net> mke2fs: fix handling of mmp_update_interval option

Make sure the s_mmp_update_interval super block field is set
from the file system parameters block which is passed into the
ext2fs_initialize() function.

Addresses-Lustre-Bug: LU-1888

Signed-off-by: Gregoire Pichon <gregoire.pichon@bull.net>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/initialize.c
c7e293251fa28aebb201a884c074f0b36cbacc20 16-Dec-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: fix pass5 optimization for bigalloc file systems

Commit 53e3120c18 introduced a regression which would case e2fsck to
overrun an array boundary for bigalloc file systems, and most likely
crash. Fix this by correctly using blocks instead of clusters when
incrementing the loop counter in the fast path optimization case.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass5.c
d3de1a714f2b22dea03f255de83b99581882f24b 16-Dec-2012 Theodore Ts'o <tytso@mit.edu> configure: clarify message regarding checking if we can link with -static

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure
onfigure.in
2658b9616fe63d2fd9e2654676877ab014639a92 06-Dec-2012 Theodore Ts'o <tytso@mit.edu> contrib/fallocate: add support for punch functionality

Also fix the -o option so it works correctly (instead of core
dumping).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ontrib/fallocate.c
5e27a274d320b44c631a37d4b04a84aa3ca5428c 30-Nov-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: fix gcc -Wall nits and valgrind complaints

One of these fixes was triggering failures when running:

./test_scripts --valgrind r_move_itable r_inline_xattr r_resize_inode

It should be a false positive, but it fixing this makes it easier to
see real problems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/main.c
esize/resize2fs.c
0f8186598ccb0c5e8666b6efe7178c69e73d81b6 29-Nov-2012 Theodore Ts'o <tytso@mit.edu> tune2fs: fix a compile-time bug if quota is not enabled

Commit 44a2cca35e introduced a compile-time failure if --enable-quota
is not passed to the configure script.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/tune2fs.c
44a2cca35e9292c39bcad38288fdf7a78d6f56af 27-Nov-2012 Eric Sandeen <sandeen@redhat.com> tune2fs: respect quota config option

If we haven't turned --enable-quota on at config time,
I don't think tune2fs should know about the feature either.

Today we can actually tune2fs -O quota even if not
configured on, and then the rest of the tools will
refuse to touch it:

# tune2fs -O quota /dev/sda1
# tune2fs -O ^quota /dev/whatever complains
tune2fs 1.42.3 (14-May-2012)
tune2fs: Filesystem has unsupported read-only feature(s) while trying to open /dev/sda1
# fsck /dev/sda1
fsck from util-linux 2.21.2
e2fsck 1.42.3 (14-May-2012)
/dev/sda1 has unsupported feature(s): quota
e2fsck: Get a newer version of e2fsck!

Ok, so turn it off?
# tune2fs -O ^quota /dev/whatever complains
tune2fs 1.42.3 (14-May-2012)
tune2fs: Filesystem has unsupported read-only feature(s) while trying to open /dev/sda1

Nope. Debugfs? Nope.

# debugfs -w /dev/sda1
debugfs 1.42.3 (14-May-2012)
/dev/sda1: Filesystem has unsupported read-only feature(s) while opening filesystem

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reported-by: Bert DeKnuydt <Bert.Deknuydt@esat.kuleuven.be>
Addresses-Red-Hat-Bugzilla: #880596
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/tune2fs.c
7b8912eaab6ca2ef864ea8acbe769ceca2ffd08a 27-Nov-2012 Eric Sandeen <sandeen@redhat.com> e2fsprogs: fix configure help text for quota

It's --enable-quota, not --enable-libquota.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
onfigure
onfigure.in
53e3120c18c0cb88bc757a7800872a6ca794f163 25-Nov-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: optimize pass 5 for CPU utilization

Add a fast path optimization in e2fsck's pass 5 for the common case
where the block bitmap is correct. The optimization works by
extracting each block group's block allocation bitmap into a memory
buffer, and comparing it with the expected allocation bitmap using
memcmp(). If it matches, then we can just update the free block
counts and be on our way, and skip checking each bit individually.

Addresses-Google-Bug: #7534813

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
2fsck/pass5.c
b65ccfc7a4e36d152c8ab8af57da783eca965a4c 25-Nov-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: optimize rb_get_bmap_range() for mostly allocated bmaps

This optimizies the CPU utilization of the rb_get_bmap_range()
function when most of the bitmap is allocated.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
ib/ext2fs/blkmap64_rb.c
c3f9641eaf959b4222aa145477e6f0f8811244d8 25-Nov-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: optimize rb_get_bmap_range()

This simplifies the rb_get_bmap_range() function and speeds it up for
the case where most of the bitmap is zero.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
ib/ext2fs/blkmap64_rb.c
c6b006ea6c9fec7f3f33347a52efc396063bcd26 24-Nov-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: add ext2fs_bitcount() function

This function efficiently counts the number of bits in a block of
memory.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
ib/ext2fs/bitops.c
ib/ext2fs/bitops.h
ib/ext2fs/tst_bitmaps.c
ib/ext2fs/tst_bitmaps_cmds
ib/ext2fs/tst_bitmaps_exp
2ae49fd0cc964aca40e846b47d9bc347b05716eb 24-Nov-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: optimize pass1 for CPU time

Optimize e2fsck pass 1 by marking entire extents as being in use at a
time, instead of block by block. This optimization only works for
non-bigalloc file systems for now (it's tricky to handle bigalloc file
systems since this code is also responsible for dealing with blocks
that are not correctly aligned within a cluster). When the
optimization works, the CPU savings can be significant: ove a full CPU
minute for a mostly full 4T disk.

Addresses-Google-Bug: #7534813

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
2fsck/pass1.c
fc8ea52033fffccfd8aeece9babf77c61c38aed9 24-Nov-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: optimize rb_set_bmap_range()

This speeds up reading bitmaps from disk for very large (and full)
disks by significant amounts (i.e., up to two CPU minutes for a 4T
file system).

Addresses-Google-Bug: #7534813

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
ib/ext2fs/blkmap64_rb.c
3e554cc116a55c9fffe17f4e819d5f2ecf8ad0af 23-Nov-2012 Andreas Dilger <adilger@dilger.ca> ext2fs, blkid: localize environment-specific variables

Restructure the ext2fs_get_device_size() and blkid_get_dev_size()
code to localize the variables used for different device probing
methods. This at least reduces the #ifdef mess to only one part
of the code for each method, and avoids "unused variable" compiler
warnings added when variables are declared without being #ifdef'd.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/blkid/getsize.c
ib/ext2fs/getsize.c
ab00fdac7c5345d06d936640c12e1d24c7fdb6b2 22-Nov-2012 Andreas Dilger <adilger@whamcloud.com> libext2fs: change mmp.c to LGPL to match other files

Change the license of the mmp.c file to LGPL to match the license
of other files in the libext2fs library.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/mmp.c
e6575ce308da5218c271b9bb034aa73b5da834bf 14-Oct-2012 Theodore Ts'o <tytso@mit.edu> debugfs: fix htree command so that all printf's go through the pager

The "Reading directory block XXX..." message was not being sent
through the pager, which would result in confusing output.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/htree.c
dd0c9a3c9cfdd250bfac283da05fd8920c823977 10-Oct-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: only consult inode_dir_map if needed in pass4

In e2fsck_pass4(), we were consulting inode_dir_map using
ext2fs_test_inode_bitmap2() for every single inode in the file system.
However, there were many cases where we never needed the result of the
test --- most notably if the inode is not in use.

I was a bit surprised that GCC 4.7 with CFLAGS set to "-g -O2" wasn't
able to optimize this out for us, but here is the pass 4 timing for an
empty 3T file system before this patch:

Pass 4: Memory used: 672k/772k (422k/251k), time: 3.67/ 3.66/ 0.00

and afterwards, we see a 43% improvement:

Pass 4: Memory used: 672k/772k (422k/251k), time: 2.09/ 2.08/ 0.00

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass4.c
51fb43dd271b1413d8203d95fe40be05caef8dd1 06-Oct-2012 Theodore Ts'o <tytso@mit.edu> Fix makefiles to compile e2freefrag with profiling

Also fix a bug caused by a stray continuation backslash which caused
the e2fsck/Makefile to fail when profiling is enabled.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
2fsck/Makefile.in
isc/Makefile.in
fb129bba73868a41df74fec87773abd0c6c6cd4a 06-Oct-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: further optimize rb_test_bit

Profiling shows that rb_test_bit() is now calling ext2fs_rb_next() a
lot, and this function is now the hot spot when running e2freefrag.
If we cache the results of ext2fs_rb_next(), we can eliminate those
extra calls, which further speeds up both e2freefrag and e2fsck by
reducing the amount of CPU time spent in userspace.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/blkmap64_rb.c
0bcba36f3f90488d2ef7502bd3c4f4920f2c4251 06-Oct-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: remove pointless indirection in rbtree bitmaps

The code was previously allocating a single 4 or 8 byte pointer for
the rcursor and wcursor fields in the ext2fs_rb_private structure;
this added two extra memory allocations (which could fail), and extra
indirections, for no good reason. Removing the extra indirection also
makes the code more readable, so it's all upside and no downside.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
ib/ext2fs/blkmap64_rb.c
547a59a821df1cffcd0ca2c763be9ef319cb980b 05-Oct-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: optimize rb_test_bit

Optimize testing for a bit in an rbtree-based bitmap for the case
where the calling application is scanning through the bitmap
sequentially. Previously, we did this for a set of bits which were
inside an allocated extent, but we did not optimize the case where
there was a large number of bits after an allocated extents which were
not in use.

1111111111111110000000000000000000
^ optimized ^not optimized

In my tests of a roughly half-filled file system, the run time of
e2freefrag was halved, and the cpu time spent in userspace was during
e2fsck's pass 5 was reduced by a factor of 30%.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
ib/ext2fs/blkmap64_rb.c
ea2d3788621cec5ed067280c7d228ec8897d2208 05-Oct-2012 Theodore Ts'o <tytso@mit.edu> e2freefrag: use 64-bit rbtree bitmaps

Enable the use of 64-bit bitmaps, so e2freefrag will work on file
systems with the 64-bit feature enabled. In addition, enable the
rbtree-based bitmaps, which significantly saves the amount of memory
required (from 97 megs to 1.7 megs for an empty 3T file system) at the
cost of additional CPU overhead (but we will claw back some of the
additional CPU overhead in the next commit).

Addresses-Google-Bug: 7269948

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2freefrag.c
c498cb11d3e72e41af760bd882675f44db8b77e7 23-Sep-2012 Theodore Ts'o <tytso@mit.edu> mke2fs: fix progress suppression to make regression tests reliable

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/progress.c
isc/mke2fs.c
ests/test_config
11e5292266b26c63c6ffd25b799d271088200256 21-Sep-2012 Theodore Ts'o <tytso@mit.edu> Update Release Notes, Changelogs, version.h, etc. for 1.42.6 release
EADME
ELEASE-NOTES
ebian/changelog
2fsprogs.lsm
o/e2fsprogs.pot
ersion.h
bbcd91bb0de943b364670373957a5658c4487692 21-Sep-2012 Theodore Ts'o <tytso@mit.edu> Fix wordwrap.pl so it is more portable

Needed so that wordwrap.pl works with perl 5.14.2

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ordwrap.pl
b2f5ce5516a0b6d261876884139043c8e6579f0a 21-Sep-2012 Theodore Ts'o <tytso@mit.edu> mke2fs: throttle allocating groups progress as well

Throttle updates for the "Allocating Groups" progress updates to once
a second as well. We now do this throttling in libext2fs, so we don't
have to do this for each of mke2fs's progress updates, and because the
updates from ext2fs_allocate_tables() come from within libext2fs
anyway.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/progress.c
isc/mke2fs.c
ests/f_resize_inode/expect
ests/m_dasd_bs/expect.1
ests/m_extent_journal/expect.1
ests/m_large_file/expect.1
ests/m_meta_bg/expect.1
ests/m_mmp/expect.1
ests/m_no_opt/expect.1
ests/m_raid_opt/expect.1
ests/m_std/expect.1
ests/m_uninit/expect.1
802f46783cc272d21bb2a1652f26371dca3a1085 21-Sep-2012 Theodore Ts'o <tytso@mit.edu> mke2fs.8: use extents vs extent in the man page

We print "extents" for the feature, so we should document "extents" in
the mke2fs's man page, even though we accept both "extent" and
"extents".

Addresses-Sourceforge-Bug: #3559210

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.8.in
a92037f2610c6efc317df0fe61a995c78f38fc16 21-Sep-2012 Theodore Ts'o <tytso@mit.edu> debian: adjust build dependencies

Remove dc from the list of dependencies, since it's not used during
the build anymore.

Addresses-Debian-Bug: #677497

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/control.in
12f48b0caa366e7a02ac8ad57af4ecf0b8bb3778 10-Sep-2012 Andreas Dilger <adilger@dilger.ca> tests: kill debugfs on interrupted MMP test

If the f_mmp test is interrupted during its test run, then it can
leave debugfs busy-looping in the background. Since f_mmp is a
relatively long-running test, and is likely to be running during
a parallel test run, this can happen fairly often.

Set a signal trap for the f_mmp test script being killed, so that
the background debugfs command will always be killed by the test.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ests/f_mmp/script
a3e87bcc32a21b1420a15385e0183d58dcaf19b1 17-Sep-2012 Theodore Ts'o <tytso@mit.edu> mke2fs: disable progress reporting in mke2fs.conf for regression tests

Add a configuration knob so the regression tests can disable progress
reporting. This fixes a potential lack of predictability since the
progress reports are now time based (once a second) which is
problematic for regression tests which are comparing the expected
output of mke2fs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
ests/f_resize_inode/expect
ests/m_dasd_bs/expect.1
ests/m_extent_journal/expect.1
ests/m_large_file/expect.1
ests/m_meta_bg/expect.1
ests/m_mmp/expect.1
ests/m_no_opt/expect.1
ests/m_raid_opt/expect.1
ests/m_std/expect.1
ests/m_uninit/expect.1
ests/mke2fs.conf.in
03237de00aa4fc0ac5910524c00aaef3db369e0d 14-Sep-2012 Theodore Ts'o <tytso@mit.edu> mke2fs: throttle progress updates to once a second

With lazy itable initialization, the progress updates for writing the
inode table happens so quickly that on a serial console, the time to
write the progress updates can be the bottleneck. Fix this by only
updating the progress indicator once a second.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/mke2fs.c
2d8c0c8a4fd99d79caa45afba1462dd5ae0f1e45 14-Sep-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: grow uninit_bg file systems more efficiently

If the uninit_bg feature is enabled and the kernel supports
lazy_itable_init, skip zeroing the inode table so that the resize
operation can go much more quickly. Also set the itable_unused fields
so that the first e2fsck after the resize will run faster.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
06ca8da745767d139f79fe1a5842be064313bf71 13-Sep-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: enforce restrictions if the kernel doesn't do meta_bg resizing

Enhance the online resizing code to be more nuanced about resizing
restrictions. If the kernel supports meta_bg resizing, then we can
skip all of the restrictions. If the kernel does not support meta_bg
resizing, check more carefully to make sure there are enough reserved
gdt blocks, so that the user gets a clearer error message.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/online.c
a4b738c0bf8ed3dfcbfab993f942e9bf3a7d4715 31-Aug-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: allow meta_bg/64-bit file systems to be online resized

Resize2fs can't handle resizing flex_bg file systems that do not have
the resize inode, but when the kernel adds support for resizing using
the meta_bg layout, we should allow it be able to resize the file
system.

So move the flex_bg/resize_inode check to the just before we start
doing the off-line resize, instead of doing it earlier where it would
prohibit these file systems for both on-line and off-line resizes.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/main.c
7f82034438e424c766e1ad5847ed0e4ccc090edf 03-Sep-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: fix overhead calculation for meta_bg file systems

The file system overhead calculation in calculate_minimum_resize_size
was incorrect meta_bg file systems. This caused the minimum size to
underflow for very large file systems, which threw resize2fs into a
loop generally lasted longer than the user's patience.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/resize2fs.c
ea38e503073c2c541517ff5fb92135cc4a470a77 07-Sep-2012 Theodore Ts'o <tytso@mit.edu> resize2fs: enforce the 16TB limit on 32-bit file systems correctly

The 16TB limit must be enforced regardless of whether the new size is
specified on the command line or implied by the size of the device,
but only if the file system does not support 64-bit block sizes, or
the kernel does not advertise support of meta_bg resizing.

Previously we were unconditionally enforcing it when it was implied by
the device size, but not if the new size was specified on the command
line.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
esize/main.c
ab3f5c5aad6310be1d1891c05f1bc8cf7ccf0cef 10-Sep-2012 Theodore Ts'o <tytso@mit.edu> Allow e2fsprogs to be built using the clang (LLVM) frontend

Since clang uses C99 semantics by default, the main changes required
to allow clang to build e2fsprogs was to add support the C99 inline
semantics, while still allowing us to be built when the legacy (but
still default for gcc) GNU C89 inline semantics are in force.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/jfs_user.h
ib/ext2fs/Makefile.in
ib/ext2fs/bitops.h
ib/ext2fs/ext2fs.h
ib/ext2fs/tst_bitmaps.c
ib/ext2fs/tst_inode_size.c
ib/ext2fs/tst_super_size.c
321649c9f491c2012f5e1a20337fd276bc5290f0 30-Aug-2012 Akira Fujita <a-fujita@rs.jp.nec.com> mke2fs: recalculate the reserved blocks when the last BG is dropped

mke2fs -m option can set reserved blocks ratio up to 50%. But if the
last block group is not big enough to support the necessary data
structures, it gets dropped, we have to recalculate the number of
reserved blocks so that the reserved blocks matches the requested
percentage.

It also avoids a problem where if the user specifies a reserved blocks
of 50%, and after the last partial block group was dropped, if the
number of reserved blocks is greater than 50%, e2fsck will complain.

Steps to reproduce:

1. Create a FS which has the overhead for the last BG
and specify 50 % for reserved blocks ratio
# mke2fs -m 50 -t ext4 DEV 1025M

mke2fs 1.42.5 (29-Jul-2012)
warning: 256 blocks unused.

Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
656640 inodes, 2621440 blocks
1310848 blocks (50.00%) reserved for the super user
~~~~~~~ <-- Reserved blocks exceed 50% of FS blocks count!

2. e2fsck outputs filesystem corruption
# e2fsck DEV

e2fsck 1.42.5 (29-Jul-2012)
Corruption found in superblock. (r_blocks_count = 1310848).

The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 32768 <device>

Signed-off-by: Akira Fujita <a-fujita@rs.jp.ne.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/initialize.c
91d11da1430b801476f6d5f71ad8669b232731af 07-Sep-2012 Theodore Ts'o <tytso@mit.edu> configure: fix --enable-relative-symlink

The configure option --enable-relative-symlinks was incorrectly
specified in configure.in, as --enable-symlink-relative-symlinks. Fix
the configure script so that --enable-relative-symlinks works, as well
as previous incorrect command line option. We will keep the older,
incorrect --enable-symlink-relative-symlinks for at least two years
before removing it.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure
onfigure.in
993c455552a218f34cc9a16e0b099868d2834ea5 18-Aug-2012 Mike Frysinger <vapier@gentoo.org> util: respect HAVE_MALLOC_H

Most places respect this define, but this one doesn't.

Reported-by: Dmitri Bogomolov <4glitch@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
til/symlinks.c
84461ea9d07109418437530339360470831a3b04 18-Aug-2012 Bryce Harrington <bryce@canonical.com> e2fsprogs: fix spelling of 'filesystme' in debugfs help

Signed-off-by: Bryce Harrington <bryce@canonical.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ebugfs/debug_cmds.ct
d45b67c5f2a66597d8e2915052e180203a9193b8 07-Aug-2012 Jim Keniston <jkenisto@us.ibm.com> e2fsck: fix potential segv when handling a read error in a superblock

When passed a negative count (indicating a byte count rather than
a block count) e2fsck_handle_read_error() treats the data as a full
block, causing unix_write_blk64() (which can handle negative counts
just fine) to try to write too much. Given a faulty block device,
this resulted in a SEGV when unix_write_blk64() read past the bottom
of the stack copying the data to cache. (check_backup_super_block ->
unix_read_blk64 -> raw_read_blk -> e2fsck_handle_read_error)

Reported-by: Alex Friedman <alexfr@il.ibm.com>
Signed-off-by: Jim Keniston <jkenisto@us.ibm.com>
Signed-off-by: Dan Streetman <ddstreet@us.ibm.com>
Reviewed-by: Mingming Cao <mcao@us.ibm.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/ehandler.c
d5aa6a82b37a0e78d8882601e6ad9da9d9dcb4da 04-Aug-2012 Theodore Ts'o <tytso@mit.edu> Put ELF_OTHER_LIBS in the right place for the linker

Commit a7c17431b9 attempted to fix a problem where the system
libraries might get used instead of local libraries for things like
-lcom_err. It tried to accomplish this by moving $(ELF_OTHER_LIBS) to
before $(LDFLAGS).

Unfortunately, this was the wrong fix; $(ELF_OTHER_LIBS) *MUST* be
after the object files, or the linker might not pull in the necessary
library and not include it into the DT_NEEDED section of the shared
library. The proper fix is to add a -L$(LIB) before $(LDFLAGS), and
then remove the -L option from all of the ELF_OTHER_LIBS definitions
in the library Makefiles.

Addresses-Sourceforge-Bug: #3554345

Cc: Olivier Blin <olivier.blin@softathome.com>
Reported-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/Makefile.elf-lib
ib/Makefile.solaris-lib
ib/blkid/Makefile.in
ib/ext2fs/Makefile.in
ib/quota/Makefile.in
ib/ss/Makefile.in
67b3721dc4de9d6441a00eceba6fd57590aa0004 30-Jul-2012 Theodore Ts'o <tytso@mit.edu> Update Release Notes, Changelogs, version.h, etc. for 1.42.5 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
EADME
ELEASE-NOTES
ebian/changelog
oc/libext2fs.texinfo
2fsprogs.lsm
o/e2fsprogs.pot
ersion.h
87e56a995c303d84d9c5ca5bff1bd35e66956e8a 30-Jul-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: print the number of blocks and inodes in the verbose statistics

In addition to the free blocks and free inodes, also print the number
of blocks and inodes in the verbose statistics.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/unix.c
da0fa8f4988243ca1f1797338cbc09be894af1e0 30-Jul-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: allow for bigger disks when printing verbose statistics

Disks have gotten bigger, so 8 digits might not be enough. Allow for
12 digits worth of blocks, which is more than enough for 3 petabytes.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/unix.c
c0a849660d1aea86b9f3ff986aae7b705a059e3e 29-Jul-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: add e2fsck.conf options for extra reporting

Add report_time, report_verbose, and report_features options to
e2fsck.conf which enable additional, more verbose reporting by e2fsck.
This is useful for large cloud installations where there are a large
number file systems being managed, and where it may not be obvious
from the e2fsck log files exactly how a particular file system is
configured.

The report_time and report_verbose options, which are the same as the
-tt and -v command line options, respectively, are useful because they
are options specific to e2fsck, and the fsck program does not have a
way of passing certain options only to a specific /sbin/fsck.<fstype>
program.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/e2fsck.conf.5.in
2fsck/unix.c
3aa8f60aaedd2e467cae690274c70c3d9835802b 29-Jul-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: fix uninit block calculation when inodes_per_block < first_ino

The following commands:

dd if=/dev/zero of=/tmp/foo count=1 ibs=$(( 256 * 1024 * 1024 ))
mke2fs -N 256 -t ext4 /tmp/foo

... will cause mke2fs to write until it fills the device. The cause
for this is that the explicit request for 256 inodes causes the number
of inodes per block group to be 8. The ext2fs_initialize() function
assumed that all of the reserved inodes would be in the first block
group, which is not true in this case. This caused the number of
uninitialized inodes in the first block group to be negative, which
then resulted in mke2fs trying to zero out a very large number of
blocks. Oops.

Addresses-Sourceforge-Bug: #3528892

Reported-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/initialize.c
32d4eb2b04f62e5380d29089040af2f8ba7b066e 29-Jul-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: fix code which uniquifies names in directory entries

When checking to see whether or not a new name is unique, the code was
using the wrong length parameter, which could cause the anti-collision
loop for a long time trying to find what it thinks is a unique name.

Addresses-Sourceforge-Bug: #3540545

Reported-by: Vitaly Oratovsky <vmo@users.sourceforge.net>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/rehash.c
a7c17431b9fbf767235d614cfe2e4f22ee0d6771 29-Jul-2012 Olivier Blin <olivier.blin@softathome.com> Link shared libraries with local libraries instead of system ones

ELF_OTHER_LIBS usually contains local search dirs (-L ../..), but it
was added in link command after system search dirs from LDFLAGS.

Libraries and executables were linked with the system libraries if
present, and possibly using static archives instead of shared
libraries.

It could also make final executable link to fail when shared libraries
are enabled: if libext2fs.so is linked with a static libcom_err.a from
system, build system would attempt to link without -lpthread.

This fixes the issue by moving ELF_OTHER_LIBS before LDFLAGS in the
link command.

Addresses-Sourceforge-Bug: #3542572

Reported-by: Olivier Blin <blino@users.sourceforge.net>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/Makefile.elf-lib
ib/Makefile.solaris-lib
d2051f11044290d288a4f03220f07fe9651588c9 29-Jul-2012 Riku Voipio <riku.voipio@iki.fi> debian: set e2fsprogs as Multi-Arch: foreign

If package foo:i386 depends on e2fsprogs, without Multi-Arch: foreign
statetment, the i386 version of e2fsprogs will be installed. By
setting the foreign field, the already installed (in this example
amd64) e2fsprogs package is enough to satisfy the dependency.

The M-A: foreign field is ignored in pre-multiarch systems, so ifdeffing
it using macros should be unnessary.

Addresses-Debian-Bug: #678395

Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ebian/control.in
78a0d2ba6decf41f541f6ff79433b2d23aad35e8 29-Jul-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: check a file system mounted read-only if forced

Previously e2fsck would only allow a mounted file system to be checked
if it was the root file system and it was mounted read-only. Now
allow any file system mounted read-only if the -f option is specified.

This makes it easier to test how e2fsck handles checking file systems
which are mounted without having to test on the root file system.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/unix.c
a85f83503a6eabeed6913520c97f49877dc2a366 29-Jul-2012 Theodore Ts'o <tytso@mit.edu> Revert "e2fsck: Skip journal checks if the fs is mounted and doesn't need recovery"

This reverts commit 47c1b8e16668daa6e74cee3c7b8bdf237ffefe70.

The original reason for this commit was to speed up boots for hard
drives. However, I've measured the time difference on a 1TB laptop
drive, and it's not significant: 70ms vs 10ms when running e2fsck on a
clean file system.

The problem with this optimization is that we don't notice if the
journal superblock has a non-zero s_errno field. If we don't transfer
the error indicator from the journal superblock to the file system
superblock, then the kernel will transfer it when the file system is
remounted read-write, causing scary messages to appear in the syslog.
(And since there was a bug in the kernel code which didn't clear the
error indicator in the journal superblock, it would never get
cleared.)

Reported-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/unix.c
032eafee3007001d07ee1798db6166a0031a3601 28-Jul-2012 Eric Sandeen <sandeen@redhat.com> e4defrag: handle device symlinks

Device nodes are commonly accessed via symlinks, i.e.

lrwxrwxrwx. 1 root root 7 Jul 19 13:01 /dev/mapper/testvg-testlv -> ../dm-0

Today, e4defrag on such a device will fail:

File is not regular file
"/dev/mapper/testvg-testlv"

due to it being a link, and e4defrag on the link target does as well:

Filesystem is not mounted

due to the target not being found in /etc/mtab.

Fix this by checking whether the symlink target is a block device
and if so, using that device in main(), and also changing get_mount_point()
to search for a matching device number, not device name.

Addresses-Red-Hat-Bugzilla: #707209

Reported-by: Peter Hjalmarsson <xake@rymdraket.net>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/e4defrag.c
o/ca.gmo
o/ca.po
o/cs.gmo
o/cs.po
o/de.gmo
o/de.po
o/es.gmo
o/es.po
o/fr.gmo
o/fr.po
o/id.gmo
o/id.po
o/it.gmo
o/it.po
o/nl.gmo
o/nl.po
o/pl.gmo
o/pl.po
o/sv.gmo
o/sv.po
o/tr.gmo
o/tr.po
o/vi.gmo
o/vi.po
o/zh_CN.gmo
o/zh_CN.po
339e457939bf1663ac2dbd52e47cd6e145726771 28-Jul-2012 Eric Sandeen <sandeen@redhat.com> filefrag: fix segfault on virtual fs

filefrag on a virtual fs like proc segfaults:

Floating point exception

because stat.f_blocks is 0, so the calculation of cylgroups is 0,
which leads to a divide by 0 when calculating expected extents.

Since it's only used for ext2 filesystems anyway, just move
the calculation of expected under "if (is_ext2)" to fix this.

Reported-by: Max Beikirch <maxnet@onlinehome.de>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/filefrag.c
b34056fea0e767a882256097c688bca9c377fe56 28-Jul-2012 Liu Bo <liubo2009@cn.fujitsu.com> chattr: update chattr's man page chattr for No_COW

Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/chattr.1.in
036fda6d487737eac9be086d999b7480a81d37ea 28-Jul-2012 Liu Bo <liubo2009@cn.fujitsu.com> filefrag: fix report of number of extents

filefrag has several bugs:

1.
$ touch f1
$ filefrag f1
f1: 1 extent found ----> bug!
$ filefrag -v f1
Filesystem type is: ef53
File size of f1 is 0 (0 blocks, blocksize 4096)
f1: 0 extents found

2.
$ truncate -s 1m f2
$ filefrag f2
f2: 1 extent found ----> bug!
$ filefrag -v f2
Filesystem type is: ef53
File size of f2 is 1048576 (256 blocks, blocksize 4096)
f2: 0 extents found

3.
$ for i in `seq 11 -2 0`; do dd if=/dev/zero of=f4 bs=4k count=1 seek=$i conv=notrunc oflag=sync &>/dev/null; done
$ ll f4
-rw-r--r-- 1 root root 49152 Jun 9 15:09 f4
$ filefrag f4
f4: 7 extents found
$ filefrag -v f4
Filesystem type is: ef53
File size of f4 is 49152 (12 blocks, blocksize 4096)
ext logical physical expected length flags
0 1 1109993 1
1 3 1109992 1109994 1
2 5 1109991 1109993 1
3 7 1109990 1109992 1
4 9 1109989 1109991 1
5 11 1108207 1109990 1 eof
f4: 7 extents found -----------------------> but we only have 6 extents, bug!

All of these bugs come from the fact that we've made a mistake on
calculating total extents:

o we set 1 as default for 'total extents', and this will report 1
extent found even when we don't get any extent from fiemap.
o if our first extent does not start from 0(logical addr), total
extents will be one more than what it should be.

Addresses-Red-Hat-Bugzilla: #840848

Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/filefrag.c
53462aad719011c969e21fb039acd595ba027b9e 24-Jul-2012 Theodore Ts'o <tytso@mit.edu> logsave: fix fd leak which could cause logsave to hang

The logsave program is leaking a file descriptor when it forks and
execs the program which forks a process which hangs around. In the
case of /etc/init.d/checkroot, this would be fsck. This file
descriptor never gets closed, so it's still present when fsck runs
e2fsck, and then if e2fsck has its own logging enabled using (in
/etc/e2fsck.conf):

[options]
log_dir = /mnt
log_filename = e2fsck-%N.%h.INFO.%D-%T
log_dir_wait = true

then e2fsck will fork off a process waiting for /mnt to get remounted
read/write. This causes logsave to never get an EOF from its pipe, so
it hangs waiting for the read to fail --- which won't happen due to
the file descriptor leak which is still being held open by e2fsck's
forked child process. And so /etc/init.d/checkroot hangs, and the
root file system never gets remounted read/write, and we deadlock.

Fix the problem by closing the pipe fd so the logsave program doesn't
end up leaking it to its descendent processes.

Addresses-Debian-Bug: #682592

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/logsave.c
89dd15db9fbcf289afca24751fb463245c5c6aee 14-Jul-2012 Aditya Kali <adityakali@google.com> tune2fs: fix quota feature removal

When the last quota inode is removed, the 'quota' feature
flag was not removed from superblock in some cases.
Ex:
$ mke2fs -t ext4 -O quota <dev> # creates both usr & grp
# quota inodes
$ tune2fs -Q ^usrquota <dev> # removes usr quota inode
$ tune2fs -Q ^grpquota <dev> # removes grp quota inode,
# but the 'quota' feature flag
# was not removed from superblock
This patch removes the 'quota' feature flag from superblock
if none of the quota inodes are set.

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/tune2fs.c
75e862ecd01d7559cdf02fb761786b21fd788b7f 14-Jul-2012 Aditya Kali <adityakali@google.com> e2fsck/quota: mark FS invalid if quotas are not fixed

If user chooses to not fix quota info, then the FS should be
marked as having errors. PR_NO_OK prevented this from happening.

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/problem.c
ad64902b70282cc0d3453237b39a1d1388906509 14-Jul-2012 Aditya Kali <adityakali@google.com> libquota: fix quota_inode_truncate()

We failed to clear EXT2_FLAG_SUPER_ONLY after deleting the
quota inode and so, the updated block bitmap was not written
back. This caused fsck to complain after running
'tune2fs -O ^quota <dev>'. Clear this flag so that updated
block bitmap gets written. Also, avoid truncating the quota
inode if it is not hidden.

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/quota/quotaio.c
5027751530980c61e313d265b1367fee90589cf4 14-Jul-2012 Aditya Kali <adityakali@google.com> tune2fs/quota: always create hidden quota files

Currently 'tune2fs -O quota <dev>' will try to use existing
quota files and write their inode numbers in the superblock.
Next e2fsck run then converts these into hidden quota inodes
(ino #3 & #4). But this approach has problems:
1) Before e2fsck run, the inodes are visible to the user and
might get corrupted or removed or replaced by the user.
2) Since these are user visible, we have to include
their block usage in the quota accounting. But once
these inodes are hidden, e2fsck will have to decrement
their usage from the quota accounting (which e2fsck
currently doesn't do and instead reports error).
(the following used to give e2fsck error previously:
# assume <dev> has aquota.user & aquota.group files
$ tune2fs -O quota <dev> # stores ino# of quota files in
# ext4 superblock
$ e2fsck -f <dev> # hides quota files, but now quota
# usage is incorrect.
<< quota errors >>
Instead of making e2fsck complicated, this patch creates the
hidden quota inodes at 'tune2fs -O quota' time iteself. The
usage is computed freshly and limits are copied from the
aquota.user and aquota.group files as earlier.

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/quota/mkquota.c
ib/quota/mkquota.h
isc/tune2fs.c
585545e1ee6288e2eafb02937b640301be4a1368 15-Jul-2012 Theodore Ts'o <tytso@mit.edu> Fix spelling typo's in man pages for tune2fs and mke2fs

Addresses-Debian-Bug: #680114

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/e2fsck.8.in
isc/tune2fs.8.in
280841e8784da611a9f625790c2c49d0e1efb701 06-Jul-2012 Andreas Dilger <adilger@whamcloud.com> build: add generated files to .gitignore

Add a batch of files/wildcards to the list of ignored files, so
that "git status" does not show so many files that should be ignored.
The "*.dSYM" directories are generated during building on MacOS.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
gitignore
2d2abcc64604c831c2db1da03fe701baefa1cb68 06-Jul-2012 Andreas Dilger <adilger@whamcloud.com> e2fsck: rename "bool" variables

Since "bool" is a valid C type, declarations of the form "int bool"
will cause compiler errors if <stdbool.h> is included. Rename these
variables to avoid this name clash.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/e2fsck.h
2fsck/pass1.c
2fsck/problem.c
isc/e2image.c
a1c4e15f6a6c95405e52bb2d20ad71b4fb891783 13-Jun-2012 Theodore Ts'o <tytso@mit.edu> Update debian changelog for 1.42.4-3
ebian/changelog
fd7042bf00819732c2f1d575ecd39fe9c58a62ae 13-Jun-2012 Liu Bo <liubo2009@cn.fujitsu.com> chattr: add the -C option to the usage message

Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/chattr.c
6f0eef4d3d64d4dae1ce94fd535759884224b681 13-Jun-2012 Theodore Ts'o <tytso@mit.edu> Update version.h using the proper abbreviation for June

The configure script uses the date string in version.h to calculate a
version date code. This only used for tagging prerelease tarball, so
it's not a big deal, but fix this for correctness' sake.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ersion.h
c1986ecb6fc68427db7579d409929939117e45ff 13-Jun-2012 Theodore Ts'o <tytso@mit.edu> Fix blhc (Build Log Hardening Check) warnings

The Build Log Hardening Check is a debian tool which scans the output
of a package build making sure that the security hardening flags are
used when compiling and linking all of binaries in a package.

For the most part we were passing CFLAGS, CPPFLAGS, and LDFLAGS down
to the compiler and link commands, but there there were one or two
exceptions. In addition, there where a few places in "make install"
where the V=1 option was not being honored, which triggered blhc
warnings since it couldn't analyze those commands.

The e2fsck.static was the only binary that was not getting built and
packaged with the hardening flags, but I've fixed all of the blhc
warnings so in the future it will be obvious if we regress.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
CONFIG.in
onfigure
onfigure.in
ebian/rules
2fsck/Makefile.in
ib/ext2fs/Makefile.in
ib/uuid/Makefile.in
isc/Makefile.in
8f00911a21f4e95de84c60e09cc4df173e5b6701 13-Jun-2012 Theodore Ts'o <tytso@mit.edu> libquota: remove unneeded #include of <sys/quota.h>

The attempted inclusion of sys/quota.h is causing failures in when
building on the hurd and freebsd platforms for Debian. It's not
necessary any more, so just remove the #include.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/changelog
ib/quota/quotaio.c
63c2d4871fe374f13a0bc6e2efa341663277c123 12-Jun-2012 Theodore Ts'o <tytso@mit.edu> am 5886dc5c: am fada3660: e2fsck: correctly propagate error from journal to superblock

* commit '5886dc5cdcccd3d09a208d41d8c23748c25a2a22':
e2fsck: correctly propagate error from journal to superblock
f67550728914cb76896ef58d833dd68b4c6d5048 12-Jun-2012 Theodore Ts'o <tytso@mit.edu> am 0a02698f: am df5d2e2b: e2fsck: handle an already recovered journal with a non-zero s_error field

* commit '0a02698f2851f419aa75536afb5f040a5c9ce002':
e2fsck: handle an already recovered journal with a non-zero s_error field
b10cb70d3c40e5cefc80e9e5fd9c8f8dfb18b0d8 12-Jun-2012 Ken Sumrall <ksumrall@android.com> am 493c82bb: am 97bd1b76: Revert "Fix e2fsck to run a full check if only the journal has recorded an error"

* commit '493c82bb54397d2f46d2067bcedf966ea6da691f':
Revert "Fix e2fsck to run a full check if only the journal has recorded an error"
35db64508c8d95403a35dbbce52d3f6cd187626e 12-Jun-2012 Ken Sumrall <ksumrall@android.com> am 766baba9: am a8948fce: Revert "Better fix for marking fs err in superblock if err set in journal superblock."

* commit '766baba9d08c13ec364f20ad70ca36303f186038':
Revert "Better fix for marking fs err in superblock if err set in journal superblock."
d6a3e41172ce43b4a92fae0791beb7592a4575b1 12-Jun-2012 Theodore Ts'o <tytso@mit.edu> Update Release Notes, Changelogs, version.h, etc. for 1.42.4 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
EADME
ELEASE-NOTES
ebian/changelog
oc/libext2fs.texinfo
2fsprogs.lsm
o/e2fsprogs.pot
ersion.h
0796e660859724f304155e094b6cf5739a610ae4 12-Jun-2012 Theodore Ts'o <tytso@mit.edu> lsattr, chattr: add support for btrfs's No_COW flag

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/e2p/pf.c
ib/ext2fs/ext2_fs.h
isc/chattr.1.in
isc/chattr.c
5886dc5cdcccd3d09a208d41d8c23748c25a2a22 12-Jun-2012 Theodore Ts'o <tytso@mit.edu> am fada3660: e2fsck: correctly propagate error from journal to superblock

* commit 'fada366033e80c119867eb303e8b48a8e027a9be':
e2fsck: correctly propagate error from journal to superblock
0a02698f2851f419aa75536afb5f040a5c9ce002 12-Jun-2012 Theodore Ts'o <tytso@mit.edu> am df5d2e2b: e2fsck: handle an already recovered journal with a non-zero s_error field

* commit 'df5d2e2b942bb263972fe30a4baafd68056e02bd':
e2fsck: handle an already recovered journal with a non-zero s_error field
493c82bb54397d2f46d2067bcedf966ea6da691f 12-Jun-2012 Ken Sumrall <ksumrall@android.com> am 97bd1b76: Revert "Fix e2fsck to run a full check if only the journal has recorded an error"

* commit '97bd1b76758fc5c78b000df9a8bc3840e4f1d31c':
Revert "Fix e2fsck to run a full check if only the journal has recorded an error"
766baba9d08c13ec364f20ad70ca36303f186038 12-Jun-2012 Ken Sumrall <ksumrall@android.com> am a8948fce: Revert "Better fix for marking fs err in superblock if err set in journal superblock."

* commit 'a8948fce2be374a697f38bcefc8c33271b83b432':
Revert "Better fix for marking fs err in superblock if err set in journal superblock."
ff07d436fc092427d609c34f630fd1c36e58e121 12-Jun-2012 Andreas Dilger <adilger@whamcloud.com> tests: allow e2fsck tests to run on OS/X

The "mktemp" program requires a template on OS/X. Allow the test
TMPFILE to be created in the local /tmp directory for both OS/X
and Linux.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ests/test_one.in
e130a16e83d8f039cab692393ceaf43d66c8add1 12-Jun-2012 Theodore Ts'o <tytso@mit.edu> tests: add two more tests of orphaned inode handling

Add two tests, f_orphan_indirect_inode, and f_orphan_extents_inode,
which tests the bug fixes in the two previous commits:

e2fsck: update global free blocks/inodes count when truncating orphan inodes
libext2fs: fix block iterator for extents when truncating inodes

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/f_orphan_extents_inode/expect.1
ests/f_orphan_extents_inode/expect.2
ests/f_orphan_extents_inode/image.gz
ests/f_orphan_extents_inode/name
ests/f_orphan_indirect_inode/expect.1
ests/f_orphan_indirect_inode/expect.2
ests/f_orphan_indirect_inode/image.gz
ests/f_orphan_indirect_inode/name
ests/f_orphan_indirect_inode/script
beb388a473bc12fa874743a7b9f97ec3094bb9d1 12-Jun-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: fix block iterator for extents when truncating inodes

When e2fsck uses the block iterator to release the blocks in an
extent-mapped inode, when the last block in an extent is removed, the
current extent has been removed and the extent cursor is now pointing
at the next inode. But the block iterator code doesn't know that. So
when it tries to go the next extent, it will end up skipping an
extent, and so the inode will be incompletely truncated.

The fix is to go to the next extent before calling the callback
function for the current extent. This way, regardless of whether the
current extent gets removed, the extent cursor is still pointing at
the right place.

Reported-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/block.c
e9e96584b316f14d117801c61da5192743136b6f 12-Jun-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: update global free blocks/inodes count when truncating orphan inodes

By the time we start processing the orphan inode list, we have already
calculated the total expected number of free blocks and inodes in
ctx->free_{blocks,inodes}. This is used to set the free blocks/inodes
count in the superblock in the case where we don't need to do a full
e2fsck.

We need to update these expected free block counts as we process the
orphan inode list so that superblock values are set correctly.
Otherwise we could have the following happen:

% e2fsck /tmp/test.img
e2fsck 1.42.3 (14-May-2012)
Truncating orphaned inode 12 (uid=0, gid=0, mode=0100644, size=0)
Setting free blocks count to 46 (was 79)
/tmp/test.img: clean, 12/16 files, 54/100 blocks

% e2fsck /tmp/test.img
e2fsck 1.42.3 (14-May-2012)
Setting free blocks count to 79 (was 46)
/tmp/test.img: clean, 12/16 files, 21/100 blocks

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/super.c
6854ab1d4a1f9fb3599f027d2593d9c4d64b5e32 12-Jun-2012 Theodore Ts'o <tytso@mit.edu> debugfs: interpret date strings of the form @dddd

Debugfs will now interpret date strings of the form @123 as 123
seconds after the start of the epoch. This is handy when editing an
orphan inode linked list using the inode's deletion time field.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/util.c
fada366033e80c119867eb303e8b48a8e027a9be 11-Jun-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: correctly propagate error from journal to superblock

If the file system is mounted read-only after a file system error has
been detected, the fact that an error occurred is written to the
journal. This is important because while the journal is getting
replayed, the error indication in the superblock may very well get
overwritten.

Unfortunately, the code to propagate the error indication from the
journal to superblock was broken because this was being done before
the old file system handle is thrown away and the file system is
re-opened to ensure that no stale data is in the file system handle.
As a result, the error indication in the superblock was never written
out.

To fix this, we need to move the check if the journal's error
indicator has been set after the file system has been freed and
re-open.

Reported-by: Ken Sumrall <ksumrall@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/journal.c
df5d2e2b942bb263972fe30a4baafd68056e02bd 01-Jun-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: handle an already recovered journal with a non-zero s_error field

If a file system was remounted read-only after a file system
corruption is detected, and then that file system is mounted and
unmounted by the kernel, the journal would have been recovered, but
the kernel currently leaves the s_errno field still set. This is
arguably a bug, since it has already propgated the non-zero s_errno
field to the file system superblock, where it will be retained until
e2fsck has been run.

However, e2fsck should handle this case for existing kernel by
checking the journal superblock's s_errno field even if journal
recovery is not required.

Without this commit, e2fsck would not notice anything wrong with the
file system, but a subsequent mount of the file system by the kernel
would mark the file system's superblock as needing checking (since the
journal's s_errno field would still be set), resulting an full e2fsck
run at the next reboot, which would find nothing wrong --- and then
when the file system was mounted, the whole cycle would repeat again.

I had seen reports of this in the past, but it wasn't until recently
that I realized exactly how this had come about, since normally e2fsck
would be run automatically before the file system is mounted again,
thus avoiding this problem. However, a user using a rescue CD who
didn't run e2fsck before mounting the a file system in this condition
could trigger this situation, and unfortunately, with previous
versions of e2fsprogs and the kernel, there would be no way out no
matter what the user tried to do.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/journal.c
97bd1b76758fc5c78b000df9a8bc3840e4f1d31c 11-Jun-2012 Ken Sumrall <ksumrall@android.com> Revert "Fix e2fsck to run a full check if only the journal has recorded an error"

This reverts commit 8c157a2c73b27b3f3ae566be78279460a35ccbc1.
2fsck/journal.c
a8948fce2be374a697f38bcefc8c33271b83b432 11-Jun-2012 Ken Sumrall <ksumrall@android.com> Revert "Better fix for marking fs err in superblock if err set in journal superblock."

This reverts commit 46e96be157785a3582844efb27f4eef38943400b.
2fsck/journal.c
8d12c46a22965179cae1e3b47778fdee5efeb513 11-Jun-2012 Tao Ma <boyu.mt@taobao.com> tests: add new test f_zero_extent_length

If all of the extents in the last extent tree block (ETB) in a
non-trivial extent tree contain uninitialized extents which are after
the end of the file as defined by i_size, the hueristics will
incorrectly estimate the last entry (and hence the node's e_len field)
in the last entry of each level of the extent tree.

As Tao Ma has noted, since e2fsck was requiring that the length
(e_len) field of interior nodes be non-zero, this was causing false
failures where e2fsck would declare that the extent tree was
corrupted.

This was fixed in commit 9c40d14841: "e2fsck: only check for
zero-length leaf extents". Add a regression test case to ensure that
this issue remains fixed.

Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ests/f_uninit_ext_past_eof/expect.1
ests/f_uninit_ext_past_eof/expect.2
ests/f_uninit_ext_past_eof/image.gz
ests/f_uninit_ext_past_eof/name
9c40d14841f04811097a123d6e8555e78ce56811 11-Jun-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: only check for zero-length leaf extents

The on-disk format for interior nodes in the extent tree does not
encode the length of each entry in the interior node; instead, it is
synthesized/simulated by the extent library code in libext2fs.
Unfortunately, this simulation is not perfect; in particular it does
not work for the last extent in the extent tree if there are
uninitialized blocks allocated using fallocate with
FALLOC_FL_KEEP_SIZE, and it leads to e2fsck incorrectly complaining
about an invalid zero-length extent.

We only need to worry about the extent length for the leaves of the
tree, since it is there were we are checking an on-disk value, as
opposed to a software-generated simulation. So restrict the check of
extent length to leaf nodes in the extent tree.

Reported-by: Tao Ma <tm@tao.ma>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass1.c
e0e2c7db4d753aa0192a4a78974fb01bee8a2fb4 11-Jun-2012 Aditya Kali <adityakali@google.com> libext2fs: fix i_blocks for extent leaf create/delete with bigalloc

When libext2fs allocates/deletes an extent leaf, the i_blocks
value is incremented/decremented by fs->blocksize / 512. This
is incorrect in case of bigalloc. The correct way here is to
use cluster_size / 512.

The problem is seen if we try to create a large inode using
libext2fs (say using ext2fs_block_iterate3()) on a bigalloc
filesystem. fsck catches this and complains.

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/extent.c
63b3913dbc0bc7cdf8a63f3bdb0c8d7d605e9a40 11-Jun-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: correctly propagate error from journal to superblock

If the file system is mounted read-only after a file system error has
been detected, the fact that an error occurred is written to the
journal. This is important because while the journal is getting
replayed, the error indication in the superblock may very well get
overwritten.

Unfortunately, the code to propagate the error indication from the
journal to superblock was broken because this was being done before
the old file system handle is thrown away and the file system is
re-opened to ensure that no stale data is in the file system handle.
As a result, the error indication in the superblock was never written
out.

To fix this, we need to move the check if the journal's error
indicator has been set after the file system has been freed and
re-open.

Reported-by: Ken Sumrall <ksumrall@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/journal.c
7ebd23d5cacb949311fb6f741cb4f5c8063dd8cf 07-Jun-2012 Ken Sumrall <ksumrall@android.com> am 1f0e651e: am 46e96be1: Better fix for marking fs err in superblock if err set in journal superblock.

* commit '1f0e651eb5b5d45bb68ef3902c40d9c32399bc9f':
Better fix for marking fs err in superblock if err set in journal superblock.
1f0e651eb5b5d45bb68ef3902c40d9c32399bc9f 07-Jun-2012 Ken Sumrall <ksumrall@android.com> am 46e96be1: Better fix for marking fs err in superblock if err set in journal superblock.

* commit '46e96be157785a3582844efb27f4eef38943400b':
Better fix for marking fs err in superblock if err set in journal superblock.
46e96be157785a3582844efb27f4eef38943400b 05-Jun-2012 Ken Sumrall <ksumrall@android.com> Better fix for marking fs err in superblock if err set in journal superblock.

The previous fix of flushing out the superblock after setting the
EXT2_ERROR_FS flag was erroneous because running the journal could have
updated the superblock (but not the in-memory copy the code referenced).
So instead, check the journal error conditions after running the journal
and freeing and re-opening the filesystem. Also, make sure to flush
the error state of the superblock to disk before clearing the error state
of the journal.

Change-Id: Ia5cde1a367d86992c9bd3bca652a1289935d1380
2fsck/journal.c
e6601194c14f2558457ba21b349cae690153c362 05-Jun-2012 Ken Sumrall <ksumrall@android.com> am 82ca75b8: am 8c157a2c: Fix e2fsck to run a full check if only the journal has recorded an error

* commit '82ca75b8ac7270a54aa5349a76e1df618023997d':
Fix e2fsck to run a full check if only the journal has recorded an error
82ca75b8ac7270a54aa5349a76e1df618023997d 05-Jun-2012 Ken Sumrall <ksumrall@android.com> am 8c157a2c: Fix e2fsck to run a full check if only the journal has recorded an error

* commit '8c157a2c73b27b3f3ae566be78279460a35ccbc1':
Fix e2fsck to run a full check if only the journal has recorded an error
8c157a2c73b27b3f3ae566be78279460a35ccbc1 05-Jun-2012 Ken Sumrall <ksumrall@android.com> Fix e2fsck to run a full check if only the journal has recorded an error

If only the journal superblock had recorded an error, but not the ext4
superblock, e2fsck would mark the superblock as containing an error.
However, it was never flushed to disk before e2fsck restarted itself
after recovering the journal, and the full check didn't happen.

Change-Id: I2952b50d3f27c6b72b6167903dbc5a26c188df0c
2fsck/journal.c
2ae58b6d5c73e044f3d498feea5d81892af2671f 04-Jun-2012 Jan Kara <jack@suse.cz> libquota: remove unnecessary definitions

Quite some definitions in quota library are not necessary. Remove them.
Also fold quota.h file into quotaio.h since it didn't contain that many
definitions.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/Makefile.in
ib/quota/Makefile.in
ib/quota/dqblk_v2.h
ib/quota/mkquota.c
ib/quota/mkquota.h
ib/quota/quota.h
ib/quota/quotaio.c
ib/quota/quotaio.h
ib/quota/quotaio_tree.h
ib/quota/quotaio_v2.c
ib/quota/quotaio_v2.h
isc/Makefile.in
eb92f5741fdbb968045d49a2cad153fe7e21c32e 01-Jun-2012 Theodore Ts'o <tytso@mit.edu> tests: fix the e2fsck test script to handle a missing test name

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/run_e2fsck
be1b8c6fe8bbb9c78cc3f9d1f963618e7c5823a7 01-Jun-2012 Theodore Ts'o <tytso@mit.edu> tests: add new test to validate errno handling in the journal superblock

Add a new regression test f_jnl_errno

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/f_jnl_errno/expect.0
ests/f_jnl_errno/expect.1
ests/f_jnl_errno/expect.2
ests/f_jnl_errno/image.gz
ests/f_jnl_errno/name
ests/f_jnl_errno/script
6d75685e2b76f4099589ad33732cf59f279b5d65 01-Jun-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: handle an already recovered journal with a non-zero s_error field

If a file system was remounted read-only after a file system
corruption is detected, and then that file system is mounted and
unmounted by the kernel, the journal would have been recovered, but
the kernel currently leaves the s_errno field still set. This is
arguably a bug, since it has already propgated the non-zero s_errno
field to the file system superblock, where it will be retained until
e2fsck has been run.

However, e2fsck should handle this case for existing kernel by
checking the journal superblock's s_errno field even if journal
recovery is not required.

Without this commit, e2fsck would not notice anything wrong with the
file system, but a subsequent mount of the file system by the kernel
would mark the file system's superblock as needing checking (since the
journal's s_errno field would still be set), resulting an full e2fsck
run at the next reboot, which would find nothing wrong --- and then
when the file system was mounted, the whole cycle would repeat again.

I had seen reports of this in the past, but it wasn't until recently
that I realized exactly how this had come about, since normally e2fsck
would be run automatically before the file system is mounted again,
thus avoiding this problem. However, a user using a rescue CD who
didn't run e2fsck before mounting the a file system in this condition
could trigger this situation, and unfortunately, with previous
versions of e2fsprogs and the kernel, there would be no way out no
matter what the user tried to do.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/journal.c
9906409e138e625a6190d3d531ad56af90d28f73 01-Jun-2012 Theodore Ts'o <tytso@mit.edu> dumpe2fs: print journal's s_errno field if it is non-zero

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/dumpe2fs.c
cd5bb7c87b1891e21c095b3ecd549ef44a067c08 31-May-2012 Andreas Dilger <adilger@whamcloud.com> e2fsck: allow checking on mounted root fs

Commit 732e26b98e5c79a4298dbe341f43b54b354bb241 added checks to
prevent e2fsck from being run in filesystem-modifying mode against
a mounted or otherwise busy device, due to several bug reports of
users doing this even with the verbose warnings in check_mount().

However, it also prevented e2fsck from checking a mounted root
filesystem, which will prevent the node from booting. Once again
allow e2fsck to run against the mounted root filesystem if it is
also mounted read-only at the time.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/unix.c
f3331df6bb5d380efd72e07fc9b40c998b355412 29-May-2012 Andreas Dilger <adilger@whamcloud.com> tests: use make rules to run tests in parallel

Change the e2fsck/mke2fs/tune2fs/e2image/debugfs regression tests to
be driven by Makefile rules instead of by a script loop. This allows
the tests to be run in parallel like a build and reduces testing time
significantly.

One major change to the tests themselves is to printing the test name,
description, and status together after the test has passed or failed,
to avoid mixing lines from the tests. The other major change is to
use unique temporary filenames for each test, which was mostly handled
already via b4db1e4c7461a50e18c9fd135b9f1ba6f27e4390, but in some
cases temporary files are changed to use $test_name.tmp to avoid any
collision between running tests.

On my old 2-CPU system it reduced the testing time from 160s to 40s.
Much of the savings is from the MMP test delays running in parallel.
It still takes the time of the slowest test, f_mmp_garbage, though
there will be ongoing benefit in the future as more tests are added
since the wallclock time will not increase linearly for each test.

Tests were run with various combinations of "make -j", and "make -j2"
through "make -j44" repeatedly without any test failures.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
gitignore
ests/Makefile.in
ests/d_loaddump/expect
ests/d_loaddump/script
ests/defaults/e_script
ests/e_brel_bma/script
ests/e_icount_normal/name
ests/e_irel_ima/script
ests/f_dup4/script
ests/f_dup_de/script
ests/f_dup_resize/script
ests/f_ext_journal/name
ests/f_h_badnode/script
ests/f_h_badroot/script
ests/f_h_normal/script
ests/f_h_reindex/script
ests/f_h_unsigned/script
ests/f_imagic_fs/script
ests/f_mmp/script
ests/f_mmp_garbage/script
ests/f_rehash_dir/name
ests/f_resize_inode/script
ests/f_uninit_last_uninit/script
ests/f_unused_itable/name
ests/i_e2image/script
ests/m_mkfs_overhead/script
ests/m_mmp/script
ests/r_inline_xattr/script
ests/r_move_itable/script
ests/r_resize_inode/script
ests/run_e2fsck
ests/t_ext_jnl_rm/script
ests/t_mmp_1on/script
ests/t_mmp_2off/script
ests/test_one.in
ests/test_post
ests/test_script.in
ests/u_mke2fs/script
ests/u_tune2fs/script
182acd17bef0cf8dcb66568448a528abb1dfcd71 28-May-2012 Andreas Dilger <adilger@whamcloud.com> libext2fs: don't inline ext2fs_open_file() and ext2fs_stat()

The creation of inline wrappers ext2fs_open_file() and ext2fs_stat()
in commit c859cb1de0d624caa0779fb17d1a53766143136e in ext2fs.h caused
difficulties with the use of headers, since the headers for open64()
and stat64() may already be included (and skip the declaration of the
64-bit variants) before ext2fs.h is ever read. There is no real way
to solve the missing prototypes and resulting compiler warnings inside
ext2fs.h.

Since ext2fs_open_file() and ext2fs_stat() are not performance
critical operations, they do not need to be inline functions at all,
and the needed function headers can be handled properly in one file.

Similarly, posix_memalloc() was having difficulties with headers, and
was being defined in ext2fs.h, but it is now only being used by a
single file, so move the required header there.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/logfile.c
ib/ext2fs/ext2fs.h
ib/ext2fs/inline.c
ib/ext2fs/unix_io.c
3b802e43d9276a13cbc75144087cbf017672ca6c 28-May-2012 Theodore Ts'o <tytso@mit.edu> libquota: remove quota_is_on() which was the last user of quotactl()

The quotactl() system call was being used without the use of a
function prototype. On closer examination, it turns out the one user
of that system call was the quota_is_on() function, which is not used
by e2fsprogs at all. Since libquota is an e2fsprogs-internal library,
and not one that we plan to export any time soon, the simplest thing
to do is to simply remove quota_is_on(), which in turn allows us to
remove all of the infrastructure around using the Linux-specific
quotactl() system call.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
onfigure
onfigure.in
ib/config.h.in
ib/quota/mkquota.c
ib/quota/mkquota.h
ib/quota/quota.h
732e26b98e5c79a4298dbe341f43b54b354bb241 24-May-2012 Andreas Dilger <adilger@whamcloud.com> e2fsck: fix checks done for mounted vs. read-only

Currently, if e2fsck is run without the "-n" flag (i.e. it
might modify the filesystem), there is no guarantee that it will
open the filesystem with the EXCLUSIVE flag (i.e. O_EXCL) to
prevent the block device from being checked (in most cases this
means mounted, but it could also be an MD/LVM member device).

Conversely, if e2fsck is run with "-n" (i.e. read-only), and
/etc/mtab or /proc/mounts does not report the block device as
mounted then e2fsck thinks the filesystem is unmounted. In this
case, e2fsck incorrectly sets the EXCLUSIVE flag, which causes
the check to fail, even though e2fsck is running read-only.

To fix this, do not open with EXCLUSIVE if it is a read-only check,
and always open with EXCLUSIVE if the filesystem might be changed.
This also prevents filesystem mounts while e2fsck is running.

Also refuse allow e2fsck to run at all if the filesystem is BUSY.
The e2fsck check_mount() was checking for MOUNTED, but not BUSY,
and it should refuse to run outright if the block device is BUSY.
The previous MOUNTED heuristics pre-date the O_EXCL reservation
by the kernel, so there could be uncertainty due to stale /etc/mtab
data, but with newer kernels a busy device should never be modified.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/unix.c
88f8f33cef74f64ff8b4d69381d5a0cf276dd04f 28-May-2012 Mike Frysinger <vapier@gentoo.org> libquota: add missing time.h include

This code uses time() but doesn't include time.h leading to:
quotaio.c:89:2: warning: implicit declaration of function 'time'

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/quota/quotaio.c
918eeb32e9bd1d053bafc9d3c70ef420c21eeda9 28-May-2012 Eric Sandeen <sandeen@redhat.com> libext2fs: fix rbtree backend for extent lengths greater than 2^32

For a completely full filesystem with more than 2^32 blocks, the
rbtree bitmap backend can assemble an extent of used blocks which is
longer than 2^32. If it does, it will overflow ->count, and corrupt
the rbtree for the bitmaps.

Discovered by completely filling a 32T filesystem using fallocate, and
then observing debugfs, dumpe2fs, and e2fsck all behaving badly.

(Note that filling with only 31 x 1T files did not show the problem,
because freespace was fragmented enough that there was no sufficiently
long range of used blocks.)

Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ib/ext2fs/blkmap64_rb.c
97a67c40dc36a4cfc50192fe96ed12689718af94 28-May-2012 Eric Sandeen <sandeen@redhat.com> debugfs: fix strtoblk for 64bit block numbers

Affects icheck, freeb, setb, testb...

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ebugfs/util.c
4780e8707ed9882af78a9436b61678c64208ebe2 28-May-2012 Theodore Ts'o <tytso@mit.edu> Remove unnecessary escape before tab in man pages

Also fixed a number of other minor nits in the resize2fs and e2image
man pages.

Addresses-Debian-Bug: #674453, #674694

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/e2image.8.in
esize/resize2fs.8.in
9b01faa8b24909fca2d220efbdc989285796f6c4 22-May-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: fix precedence bug in built-in quota support

The operator precedence bug means that we might pay atteion to
s_grp_quota_inum even if the RO_COMPAT_QUOTA feature flag is clear.
However, fortunately, this is unlikely to happen in practice.

Cc: Aditya Kali <adityakali@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/pass1.c
3b693d0b03569795d04920a04a0a21e5f64ffedc 22-May-2012 Theodore Ts'o <tytso@mit.edu> e2fsck: fix 64-bit journal support

64-bit journal support was broken; we weren't using the high bits from
the journal descriptor blocks! We were also using "unsigned long" for
the journal block numbers, which would be a problem on 32-bit systems.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/jfs_user.h
2fsck/journal.c
2fsck/recovery.c
108e6581fccaf8dd2f8a01d2eb5a02b0478240c7 21-May-2012 Theodore Ts'o <tytso@mit.edu> tests: fix f_jnl_64bit so that it actually has a 64-bit journal

The previous image did not have a 64-bit journal so it wouldn't
properly test the 64-bit journal format.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/f_jnl_64bit/expect.0
ests/f_jnl_64bit/expect.1
ests/f_jnl_64bit/expect.2
ests/f_jnl_64bit/image.gz
8c778b3acd885c79d76d94b4ba0b7fad7b031607 21-May-2012 Theodore Ts'o <tytso@mit.edu> libe2p: teach e2p_jrnl_feature2string() about the 64-bit journal feature

This will allow dumpe2fs to correctly display the 64-bit journal
feature, if it is enabled.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/e2p/feature.c
8cf716a25134b842862e02092c3bae1e51e00612 14-May-2012 Theodore Ts'o <tytso@mit.edu> Update Release Notes, Changelogs, version.h, etc. for 1.42.3 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
EADME
ELEASE-NOTES
ebian/changelog
ebian/e2fslibs.symbols
oc/libext2fs.texinfo
2fsprogs.lsm
o/e2fsprogs.pot
ersion.h
ae06582867e1a30d3f8ac2641e9f4cca8091b385 14-May-2012 Theodore Ts'o <tytso@mit.edu> Change pkg-config files so that both <et/com_err.h> and <com_err.h> work

Change the include path in the Cflags field so that #include
<lib/foo.h> and <foo.h> will work. We had originally used a C flags
which allowed <foo.h> to work, but many applications (especially those
not using pkg-config) had been using the <lob/foo.h> formulation which
didn't require an explicit -I{$includedir} option to the C compiler.

If those applications then converted over to pkg-config, and the
e2fsprogs libraries were installed with a prefix other than /usr, so
that the header files were in some directory such as
/usr/local/include, a program that used #include <lib/foo.h> would
fail to compile.

So change the pkg-config files to include both -I{$includedir} and
-I{$includir}/lib.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/blkid/blkid.pc.in
ib/e2p/e2p.pc.in
ib/et/com_err.pc.in
ib/ext2fs/ext2fs.pc.in
ib/quota/quota.pc.in
ib/ss/ss.pc.in
ib/uuid/uuid.pc.in
40024fdbafdf3875a0950e8fee5dd8bf69ea6b6c 14-May-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: fix bug in unix_io corrupted > 16TB file systems on 32-bit systems

The code was assuming that "unsigned long" was 64-bit, which of course
it isn't on 32-bit systems. This caused blocks to get written to the
wrong place.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/unix_io.c
ce10c313e618826544779ec26432a6ffb0cbb684 14-May-2012 Theodore Ts'o <tytso@mit.edu> dumpe2fs: fix 64-bit block numbers on 32-bit systems

Fix bug which caused 64-bit block numbers to be incorrectly printed on
systems with 32-bit longs.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
isc/dumpe2fs.c
183c73b02615acc33fc22e89b8cc7fdc5f22ee0e 13-May-2012 Theodore Ts'o <tytso@mit.edu> Teach build system to install relative symlinks if requested

Add a configure option, --enable-relative-symlinks, which will use
relative symlinks for the ELF shared library files.

Addresses-Sourceforge-Bug: #3520767

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
CONFIG.in
onfigure
onfigure.in
ib/Makefile.elf-lib
til/Makefile.in
til/install-symlink.in
til/symlinks.c
e366e42392d3bc762a71e038081960adfdc9d587 12-May-2012 Theodore Ts'o <tytso@mit.edu> Include LDFLAGS when building BSD libraries

Addresses-Sourceforge-Bug: #3517272

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/Makefile.bsd-lib
58b3d8d3aec9398b8c0fdedd23434a885f037c02 12-May-2012 Matthias Andree <matthias.andree@gmx.de> Fix parallel (make -j) build

Add a few dependencies where needed, so that "make -j17 check" now
works.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
akefile.in
ib/uuid/Makefile.in
21af16f404cc519525040b1c0286a0fff59be750 12-May-2012 Matthias Andree <matthias.andree@gmx.de> Fix bashisms

These break the self-test suite on *BSD, and on some Linux distros
where /bin/sh is not implemented by bash.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
ests/f_mmp/script
ests/f_mmp_garbage/script
ests/m_mmp/script
ests/t_mmp_1on/script
ests/t_mmp_2off/script
660b4c3b3fd78d0da408643b9c09b47becb5521a 12-May-2012 Theodore Ts'o <tytso@mit.edu> Reserve the codepoints for the INCOMPAT features LARGEDATA and INLINEDATA

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/e2p/feature.c
ib/ext2fs/ext2_fs.h
d71520751ecfb9e0196ff154122f54f2e0f12d0f 02-May-2012 Theodore Ts'o <tytso@mit.edu> Support systems without posix_memalign() and memalign()

MacOS 10.5 doesn't have posix_memalign() nor memalign(), but it does
have valloc(). The Android SDK would like to be built on MacOS 10.5,
so I've added support for a good-enough emulation of memalign()'s
functionality using valloc(), with an explicit test to make sure
valloc() is returning a pointer which is sufficiently aligned given
the requested alignment. This won't work if you try to operate on a
file system with a 16k blocksize using an e2fsprogs built on MacOS
10.5 system, but it is good enough for the common case of 4k
blocksize file systems, and we will let the memory allocation fail in
the alignment is not good enough.

I've also added a unit test for ext2fs_get_memalign() so we can be
sure it's working as expected. I've tested the code paths with
HAVE_POSIX_MEMALIGN defined, HAVE_POSIX_MEMALIGN undefined, and
HAVE_POSIX_MEMALIGN and HAVE_MEMALIGN undefined on an x86 Linux
system, and so I know the valloc() code path works OK. The simplistic
(and less safe) patch at:

https://trac.macports.org/attachment/ticket/33692/patch-lib-ext2fs-inline.c.diff

Shows that using valloc() apparently works OK for MacOS 10.5 (but if
it doesn't the unit test will catch a problem).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/Makefile.in
ib/ext2fs/inline.c
fd1c5a0622a9578b86f695d2f60df7d4f8b21875 07-May-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: factor out I/O buffer allocation

Create a new function, io_channel_alloc_buf() which allocates I/O
buffers with appropriate alignment if we are using direct I/O. The
original code was sometimes using a larger alignment factor than
necessary, and would always request an aligned memory buffer even when
it was not necessary since the block device was not opened with
O_DIRECT.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ext2_io.h
ib/ext2fs/inode.c
ib/ext2fs/io_manager.c
ib/ext2fs/openfs.c
ib/ext2fs/rw_bitmaps.c
ib/ext2fs/unix_io.c
07d120848d143c40feb55be31f0f0bb1ad1ec6f9 07-May-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: make read_bitmaps() more efficient when using direct I/O

Read in a full block for each allocation bitmap, to avoid using a
kernel bounce buffer when using direct I/O.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/rw_bitmaps.c
dd0a2679ddd0a9bf53e32efc0f67a7e7a5ea5f00 07-May-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: refactor Direct I/O alignment requirement calculations

Create a new function, ext2fs_get_dio_alignment(), which returns the
alignment requirements for direct I/O. This way we can factor out the
code from MMP and the Unix I/O manager. The two modules weren't
consistently calculating the alignment factors, and in particular MMP
would sometimes use a larger alignment factor than was strictly
necessary.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ext2fs.h
ib/ext2fs/getsectsize.c
ib/ext2fs/mmp.c
ib/ext2fs/unix_io.c
0a05b90330d8b505469c72143964b954776be232 07-May-2012 Theodore Ts'o <tytso@mit.edu> libext2fs: move the alignment field from unix_io to the io_manager

The align field which indicated the required data alignment of data
buffers was stored in a field specific to the unix_io manager. Move
it to the top-level io_channel structure so it can be better
generalized.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ib/ext2fs/ext2_io.h
ib/ext2fs/test_io.c
ib/ext2fs/unix_io.c
ea1c3b57145c42c1f9e2a4cf9644ff0eb2c9514d 05-May-2012 Jean-Baptiste Queru <jbq@google.com> am a2e05ead: am 3e60e44f: Merge "Xcode 4.3 compatibility checkin"

* commit 'a2e05ead45f57030aa86a82bbaf891f28f7d5a58':
Xcode 4.3 compatibility checkin
a2e05ead45f57030aa86a82bbaf891f28f7d5a58 05-May-2012 Jean-Baptiste Queru <jbq@google.com> am 3e60e44f: Merge "Xcode 4.3 compatibility checkin"

* commit '3e60e44fae35febb9da905394698b21b45ad7301':
Xcode 4.3 compatibility checkin
3e60e44fae35febb9da905394698b21b45ad7301 04-May-2012 Jean-Baptiste Queru <jbq@google.com> Merge "Xcode 4.3 compatibility checkin"
65ee799fbe038eae24cdb6b02bd7f14cf274862d 02-May-2012 Theodore Ts'o <tytso@mit.edu> tests: add new tests f_jnl_32bit and f_jnl_64bit

Add regression tests which make sure e2fsprogs understands the current
32-bit and 64-bit journal format. If a patch breaks the on-disk
format, these tests should warn us about that.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/f_jnl_32bit/expect.0
ests/f_jnl_32bit/expect.1
ests/f_jnl_32bit/expect.2
ests/f_jnl_32bit/image.gz
ests/f_jnl_32bit/name
ests/f_jnl_32bit/script
ests/f_jnl_64bit/expect.0
ests/f_jnl_64bit/expect.1
ests/f_jnl_64bit/expect.2
ests/f_jnl_64bit/image.gz
ests/f_jnl_64bit/name
ests/f_jnl_64bit/script
ests/run_e2fsck
ee85edaf74adfc962ff0281b24aa7aa65a4eff1b 28-Apr-2012 Ken Sumrall <ksumrall@android.com> Fix the mac build of e2fsprogs

Android builds for MacOS 10.5. The new version version of e2fsprogs requires
posix_memalign(), which was added in MacOS 10.6. Since MacOS doesn't provide
memalign() either, the only option is to use valloc(). This patch was inspired
by a patch to e2fsprogs that came from the macports port of e2fsprogs.

Change-Id: If1334ce409985c1bdba4384ada8ecbc3dec56d81
ib/ext2fs/ext2fs.h
22218d379da521f6c74842085a4f348a4dfc9715 27-Apr-2012 Ken Sumrall <ksumrall@android.com> Fix the mac host build of e2fsprogs

Mac OS doesn't support the O_DIRECT flag, so use the F_NOCACHE
option of fcntl() instead. Fix taken from the libext2 project
on soruceforge.

Change-Id: I1e88a95e53f1bbbd8dbcfc7aa43a27443dfd6807
ib/ext2fs/unix_io.c
2788cc879bbe667d28277e1d660b7e56514e5b30 24-Apr-2012 Andreas Dilger <adilger@whamcloud.com> e2fsck: quiet harmless inode/blocks errors

Don't consider only an error in the superblock summary as incorrect.
The kernel does not update this field except at unmount time, so
don't print errors during a "-n" run if there is nothing else wrong.
Any other unfixed errors will themselves mark the filesystem invalid.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/pass5.c
2fsck/problem.c
7943ccf5f2fa76f1dc164ddd1ffd5044a1dca31a 24-Apr-2012 Aditya Kali <adityakali@google.com> e2fsck,libquota: Update quota only if its inconsistent

Currently fsck recomputes quotas and overwrites quota files
whenever its run. This causes unnecessary modification of
filesystem even when quotas were never inconsistent. We also
lose the limits information because of this. With this patch,
e2fsck compares the computed quotas to the on-disk quotas
(while updating the in-memory limits) and writes out the
quota inode only if it is inconsistent.

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/problem.c
2fsck/problem.h
2fsck/unix.c
ib/quota/mkquota.c
ib/quota/mkquota.h
ec7686e3e723ac8644a48ade6b58a1ca8dab6599 24-Apr-2012 Aditya Kali <adityakali@google.com> e2fsck: Fix check for hidden quota files

Currently e2fsck always incorrectly detects that quota inodes
need to be hidden (even if they are already hidden) and
modifies the superblock unnecessarily. This patch fixes the
check for hidden quota files and avoids modifying the
filesystem if quota inodes are already hidden.
Also, zero-out the old quota inode so that next fsck scan
doesn't complain.

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2fsck/problem.c
2fsck/quota.c
1d520184ee1a809f0a41566eed80ccf64b39ed1a 24-Apr-2012 Zheng Liu <wenqing.lz@taobao.com> debugfs: cleanup in do_show_debugfs_params

Remove 'out' variable and replace fprintf with printf.

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebugfs/debugfs.c
a99145e6ef314c9d863b2a90c7adb44c6ccf89c8 24-Apr-2012 Aditya Kali <adityakali@google.com> tune2fs: fix man page indentation

The indentation in tune2fs man page was wrong towards the
end. Also, there was extra '[' in the SYNOPSIS section.

Signed-off-by: Aditya Kali <adityakali@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
isc/tune2fs.8.in
e67f82660c2c534eefbb39f35ead3f6bb00317be 22-Apr-2012 Trần Ngọc Quân <vnwildman@gmail.com> po: update vi.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/vi.gmo
o/vi.po
f070bf5432fba49325b59420ee13ce6afe546f34 22-Apr-2012 G�ran Uddeborg <goeran@uddeborg.se> po: update sv.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/sv.gmo
o/sv.po
f64e68e0496dafdd92a317bb14ca3cbc716409dc 22-Apr-2012 Jakub Bogusz <qboosh@pld-linux.org> po: update pl.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/pl.gmo
o/pl.po
e3ea13783db8db3f2039d2f6b9a5aa4ae21bcb8a 22-Apr-2012 Benno Schulenberg <benno@vertaalt.nl> po: update nl.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/nl.gmo
o/nl.po
f35794155a09b4a02062bc75d8777f98509d5b7c 22-Apr-2012 Samuel Thibault <samuel.thibault@ens-lyon.org> po: update fr.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/fr.gmo
o/fr.po
edc733d607b6ee57e69965d3e88766b178a778f6 22-Apr-2012 Philipp Thomas <pth@suse.de> po: update de.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/de.gmo
o/de.po
b8bb8f7bc6bca1c6d1583e5830a9114238729a43 22-Apr-2012 Petr Pisar <petr.pisar@atlas.cz> po: update cs.po (from translationproject.org)

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
o/cs.gmo
o/cs.po
7a069f1ca9dcd6e525d51924d0d873ceb979da5e 11-Apr-2012 Theodore Ts'o <tytso@mit.edu> tests: add new test f_eofblocks

Since we have changed the eofblocks handling in e2fsck (by removing
the need for the EOFBLOCKS_FL flag), we should have a test to check
out how we handle uninitialized and initialized blocks which are exist
beyond i_size, with files that have (and don't have) the EOFBLOCKS_FL.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ests/f_eofblocks/expect.1
ests/f_eofblocks/expect.2
ests/f_eofblocks/image.gz
ests/f_eofblocks/name
2743499061f96a2c16fe597102f5c8ba2d7f1ebe 10-Apr-2012 Theodore Ts'o <tytso@mit.edu> Merge branch 'master' of https://github.com/danielnorberg/e2fsprogs into maint

(The single commit was missing a Signed-Off-By, but it was a trivial
change to a non-source file, so I've accepted it.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
f6243c10db64ae46beb6a90fccf771f9c9f3d2f8 10-Apr-2012 Daniel Norberg <dano@spotify.com> com_err.pc: correct include path

compile_et puts #include <et/com_err.h> in
generated header files so pkg-config --cflags
com_err should provide the path to the directory
containing et/.
ib/et/com_err.pc.in
f52c1753d41cfb02779ead0afea48ec2c1c8ed57 09-Apr-2012 Theodore Ts'o <tytso@mit.edu> debian: update debian-policy conformance to 3.9.3

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/control.in
3b0018beee12b79cdc88aa53746a4f0b62d7eda1 09-Apr-2012 Theodore Ts'o <tytso@mit.edu> Update for Debian 1.42.2-2 release

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ebian/changelog
ersion.h
c1732c5a9ae9a8ad6e3f66d95d55e169aa4d2ad3 09-Apr-2012 Theodore Ts'o <tytso@mit.edu> e2fsck.conf.5: add buggy_init_scripts to the man page

We have renamed buggy_init_scripts to accept_time_fudge. Explain this
so that people who find buggy_init_scripts in older e2fsck.conf files
understand what is going on.

Addresses-Debian-Bug: #646963

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2fsck/e2fsck.conf.5.in