{"push_id":564455777,"size":28,"distinct_size":28,"ref":"refs/heads/exp-ext4","head":"8c43f5fae30dbdf48eacdaeff6d8e36b9f0503a2","before":"325578f801bf93fefa43f380665bf353a7f513bf","commits":[{"sha":"d059eeb6409590741ee122bbd548ee39182b6cf0","author":{"email":"2f96f8cd3e2780a209d0ab27d1b44624d0019d3f@linux.intel.com","name":"Artem Bityutskiy"},"message":"ext4: nuke write_super from comments\n\nThe '->write_super' superblock method is gone, and this patch removes all the\nreferences to 'write_super' from ext3.\n\nCc: \"Theodore Ts'o\" <tytso@mit.edu>\nCc: Andreas Dilger <adilger.kernel@dilger.ca>\nSigned-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/d059eeb6409590741ee122bbd548ee39182b6cf0"},{"sha":"98e353af838f9ac99714cb9fddf630fae95cbe9f","author":{"email":"2f96f8cd3e2780a209d0ab27d1b44624d0019d3f@linux.intel.com","name":"Artem Bityutskiy"},"message":"ext4: nuke pdflush from comments\n\nThe pdflush thread is long gone, so this patch removes references to pdflush\nfrom ext4 comments.\n\nCc: \"Theodore Ts'o\" <tytso@mit.edu>\nCc: Andreas Dilger <adilger.kernel@dilger.ca>\nSigned-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>\nSigned-off-by: Al Viro <viro@zeniv.linux.org.uk>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/98e353af838f9ac99714cb9fddf630fae95cbe9f"},{"sha":"0dc4a1df8b18e945df8ee92680765f769697d520","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: make sure the journal sb is written in ext4_clear_journal_err()\n\nAfter we transfer set the EXT4_ERROR_FS bit in the file system\nsuperblock, it's not enough to call jbd2_journal_clear_err() to clear\nthe error indication from journal superblock --- we need to call\njbd2_journal_update_sb_errno() as well.  Otherwise, when the root file\nsystem is mounted read-only, the journal is replayed, and the error\nindicator is transferred to the superblock --- but the s_errno field\nin the jbd2 superblock is left set (since although we cleared it in\nmemory, we never flushed it out to disk).\n\nThis can end up confusing e2fsck.  We should make e2fsck more robust\nin this case, but the kernel shouldn't be leaving things in this\nconfused state, either.\n\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>\nCc: stable@kernel.org","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/0dc4a1df8b18e945df8ee92680765f769697d520"},{"sha":"3e112092ddca8629d9711d3513392e4ec72f636d","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: avoid kmemcheck complaint from reading uninitialized memory\n\nCommit 03179fe923 introduced a kmemcheck complaint in\next4_da_get_block_prep() because we save and restore\nei->i_da_metadata_calc_last_lblock even though it is left\nuninitialized in the case where i_da_metadata_calc_len is zero.\n\nThis doesn't hurt anything, but silencing the kmemcheck complaint\nmakes it easier for people to find real bugs.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id=45631\n(which is marked as a regression).\n\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>\nCc: stable@vger.kernel.org","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/3e112092ddca8629d9711d3513392e4ec72f636d"},{"sha":"b2ff32b4e14886fabd8955bb2316e4986f6145f4","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: don't call ext4_error while block group is locked\n\nWhile in ext4_validate_block_bitmap(), if an block allocation bitmap\nis found to be invalid, we call ext4_error() while the block group is\nstill locked.  This causes ext4_commit_super() to call a function\nwhich might sleep while in an atomic context.\n\nThere's no need to keep the block group locked at this point, so hoist\nthe ext4_error() call up to ext4_validate_block_bitmap() and release\nthe block group spinlock before calling ext4_error().\n\nThe reported stack trace can be found at:\n\n\thttp://article.gmane.org/gmane.comp.file-systems.ext4/33731\n\nReported-by: Dave Jones <davej@redhat.com>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>\nCc: stable@vger.kernel.org","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/b2ff32b4e14886fabd8955bb2316e4986f6145f4"},{"sha":"6b3d8f4de525c67b4623d5be12d233462186d26a","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: fix long mount times on very big file systems\n\nCommit 8aeb00ff85a: \"ext4: fix overhead calculation used by\next4_statfs()\" introduced a O(n**2) calculation which makes very large\nfile systems take forever to mount.  Fix this with an optimization for\nnon-bigalloc file systems.  (For bigalloc file systems the overhead\nneeds to be set in the the superblock.)\n\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>\nCc: stable@vger.kernel.org","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/6b3d8f4de525c67b4623d5be12d233462186d26a"},{"sha":"ae73bfb1a353a85ea2fe610d5346d34d540e78ff","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: fix kernel BUG on large-scale rm -rf commands\n\nCommit 968dee7722: \"ext4: fix hole punch failure when depth is greater\nthan 0\" introduced a regression in v3.5.1/v3.6-rc1 which caused kernel\ncrashes when users ran run \"rm -rf\" on large directory hierarchy on\next4 filesystems on RAID devices:\n\n    BUG: unable to handle kernel NULL pointer dereference at 0000000000000028\n\n    Process rm (pid: 18229, threadinfo ffff8801276bc000, task ffff880123631710)\n    Call Trace:\n     [<ffffffff81236483>] ? __ext4_handle_dirty_metadata+0x83/0x110\n     [<ffffffff812353d3>] ext4_ext_truncate+0x193/0x1d0\n     [<ffffffff8120a8cf>] ? ext4_mark_inode_dirty+0x7f/0x1f0\n     [<ffffffff81207e05>] ext4_truncate+0xf5/0x100\n     [<ffffffff8120cd51>] ext4_evict_inode+0x461/0x490\n     [<ffffffff811a1312>] evict+0xa2/0x1a0\n     [<ffffffff811a1513>] iput+0x103/0x1f0\n     [<ffffffff81196d84>] do_unlinkat+0x154/0x1c0\n     [<ffffffff8118cc3a>] ? sys_newfstatat+0x2a/0x40\n     [<ffffffff81197b0b>] sys_unlinkat+0x1b/0x50\n     [<ffffffff816135e9>] system_call_fastpath+0x16/0x1b\n    Code: 8b 4d 20 0f b7 41 02 48 8d 04 40 48 8d 04 81 49 89 45 18 0f b7 49 02 48 83 c1 01 49 89 4d 00 e9 ae f8 ff ff 0f 1f 00 49 8b 45 28 <48> 8b 40 28 49 89 45 20 e9 85 f8 ff ff 0f 1f 80 00 00 00\n\n    RIP  [<ffffffff81233164>] ext4_ext_remove_space+0xa34/0xdf0\n\nThis could be reproduced as follows:\n\nThe problem in commit 968dee7722 was that caused the variable 'i' to\nbe left uninitialized if the truncate required more space than was\navailable in the journal.  This resulted in the function\next4_ext_truncate_extend_restart() returning -EAGAIN, which caused\next4_ext_remove_space() to restart the truncate operation after\nstarting a new jbd2 handle.\n\nReported-by: Maciej Żenczykowski <maze@google.com>\nReported-by: Marti Raudsepp <marti@juffo.org>\nTested-by: Fengguang Wu <fengguang.wu@intel.com>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>\nCc: stable@vger.kernel.org","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/ae73bfb1a353a85ea2fe610d5346d34d540e78ff"},{"sha":"4e3f73c51fe2a4366b609c293afaa83c073b76e9","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: collapse a single extent tree block into the inode if possible\n\nIf an inode has more than 4 extents, but then later some of the\nextents are merged together, we can optimize the file system by moving\nthe extents up into the inode, and discarding the extent tree block.\nThis is important, because if there are a large number of inodes with\nan external extent tree blocks where the contents could fit in the\ninode, this can significantly increase the fsck time of the file\nsystem.\n\nGoogle-Bug-Id: 6801242\n\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/4e3f73c51fe2a4366b609c293afaa83c073b76e9"},{"sha":"fa349f114f7369cdc63944459dde4971fcdd5dea","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: don't load the block bitmap for block groups which have no space\n\nAdd a short circuit check to ext4_mb_group_group() so that we don't\nbother to load the block bitmap for a block group which does not have\nany space available.  (Or which does not have enough space until we\nare in desperation mode, i.e., when cr == 3.)\n\nResolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=45741\nReported-by: mirek@me.com\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/fa349f114f7369cdc63944459dde4971fcdd5dea"},{"sha":"594e25841d20ac4eeab6503066c81f6809580641","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: add max_dir_size_kb mount option\n\nVery large directories can cause significant performance problems, or\nperhaps even invoke the OOM killer, if the process is running in a\nhighly constrained memory environment (whether it is VM's with a small\namount of memory or in a small memory cgroup).\n\nSo it is useful, in cloud server/data center environments, to be able\nto set a filesystem-wide cap on the maximum size of a directory, to\nensure that directories never get larger than a sane size.  We do this\nvia a new mount option, max_dir_size_kb.  If there is an attempt to\ngrow the directory larger than max_dir_size_kb, the system call will\nreturn ENOSPC instead.\n\nGoogle-Bug-Id: 6863013\n\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/594e25841d20ac4eeab6503066c81f6809580641"},{"sha":"df667104e91a4421755be688563887f44b18b705","author":{"email":"927570c33013ae711b16b2f69d88304bb3fcc969@taobao.com","name":"Zheng Liu"},"message":"ext4: make the zero-out chunk size tunable\n\nCurrently in ext4 the length of zero-out chunk is set to 7 file system\nblocks.  But if an inode has uninitailized extents from using\nfallocate to preallocate space, and the workload issues many random\nwrites, this can cause a fragmented extent tree that will\nunnecessarily grow the extent tree.\n\nSo create a new sysfs tunable, extent_max_zeroout_kb, which controls\nthe maximum size where blocks will be zeroed out instead of creating a\nnew uninitialized extent.  The default of this has been sent to 32kb.\n\nCC: Zach Brown <zab@zabbo.net>\nCC: Andreas Dilger <adilger@dilger.ca>\nSigned-off-by: Zheng Liu <wenqing.lz@taobao.com>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/df667104e91a4421755be688563887f44b18b705"},{"sha":"c9adece081333052730cb7b97fab1f6ae1586b24","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: check return value of blkdev_issue_flush()\n\nblkdev_issue_flush() can fail; make sure the error gets properly\npropagated.\n\nThis is a port of the equivalent ext3 patch from commit 44f4f729e7a1.\n\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/c9adece081333052730cb7b97fab1f6ae1586b24"},{"sha":"654bf3500ba54d190ad23a7e4ced6819c68eafcd","author":{"email":"a20073400928871b47176f28bc3fec679095a720@taobao.com","name":"Robin Dong"},"message":"ext4: remove unused macro MB_DEFAULT_MAX_GROUPS_TO_SCAN\n\nSigned-off-by: Robin Dong <sanbai@taobao.com>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/654bf3500ba54d190ad23a7e4ced6819c68eafcd"},{"sha":"189684dece8f2c22551647a4c588dcd0b9003da0","author":{"email":"a20073400928871b47176f28bc3fec679095a720@taobao.com","name":"Robin Dong"},"message":"ext4: remove unused function argument 'order' in mb_find_extent()\n\nAll the routines call mb_find_extent are setting argument 'order' to 0\njust like:\n\n\tmb_find_extent(e4b, 0, ex.fe_start, ex.fe_len, &ex);\n\ntherefore the useless argument should be removed.\n\nSigned-off-by: Robin Dong <sanbai@taobao.com>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/189684dece8f2c22551647a4c588dcd0b9003da0"},{"sha":"9c9a6d57b33ae22dfc16e5051d1de2919b0610e3","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: return an error if kset_create_and_add fails in ext4_init_fs()\n\nIn the very unlikely case that kset_create_and_add() fails when the\next4.ko module is being loaded (or during kernel startup) set err so\nthat it's clear that the module load failed.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id=27912\n\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/9c9a6d57b33ae22dfc16e5051d1de2919b0610e3"},{"sha":"ccc02d2c8aa787a647d452d518d3a014224792dd","author":{"email":"4ed386e0495d3e109932df055831d9ec2f824927@mit.edu","name":"Theodore Ts'o"},"message":"ext4: drop lock_super()/unlock_super()\n\nWe don't need lock_super()/unlock_super() any more, since the places\nwhere it is used, we are protected by the s_umount r/w semaphore.\n\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>\nCc: Marco Stornelli <marco.stornelli@gmail.com>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/ccc02d2c8aa787a647d452d518d3a014224792dd"},{"sha":"090617f25a73468fd080866b71e895fed3ed55aa","author":{"email":"1c3b1584a6008857f36c03c58f657c0fc16fc09e@linaro.org","name":"Sachin Kamat"},"message":"ext4: replace plain integer with NULL in super.c\n\nFixes the following sparse warning:\nfs/ext4/super.c:1672:45: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Sachin Kamat <sachin.kamat@linaro.org>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/090617f25a73468fd080866b71e895fed3ed55aa"},{"sha":"0e21005f1c9444c49cd0e249d9ce2c13ed684729","author":{"email":"ef7beb0a5648a38de0e091e7f12410323110d152@gmail.com","name":"Ashish Sangwan"},"message":"ext4: no need to add inode to orphan list during hole punch\n\nWhile performing punch hole for an inode, i_disksize is not changed.\nSo, there is no need to add the inode to orphan list.\n\nSigned-off-by: Ashish Sangwan <ashish.sangwan2@gmail.com>\nSigned-off-by: Namjae Jeon <linkinjeon@gmail.com>\nAcked-by: Zheng Liu <wenqing.lz@taobao.com>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/0e21005f1c9444c49cd0e249d9ce2c13ed684729"},{"sha":"abe746058859949eeaaed761996b0c48af46a9ee","author":{"email":"bb485778c59c959c620dcf404550d8d7642fd953@gmail.com","name":"Wang Sheng-Hui"},"message":"ext4: fix trivial typo in comment\n\nSigned-off-by: Wang Sheng-Hui <shhuiw@gmail.com>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/abe746058859949eeaaed761996b0c48af46a9ee"},{"sha":"c8250f4e6c3a8311965cf880eaea38b72eee7fbc","author":{"email":"927570c33013ae711b16b2f69d88304bb3fcc969@taobao.com","name":"Zheng Liu"},"message":"ext4: remove duplicated declarations in inode.c\n\nIn patch cb20d5188366f04d96d2e07b1240cc92170ade40, ext4_set_bh_endio\nand ext4_end_io_buffer_write are declared at the beginning of inode.c,\nand again later on in the middle of the file.  Remove the second set\nof duplicated function declarations.\n\nSigned-off-by: Zheng Liu <wenqing.lz@taobao.com>\nSigned-off-by: \"Theodore Ts'o\" <tytso@mit.edu>","distinct":true,"url":"https://api.github.com/repos/jtpoo3/android_kernel_google_msm/commits/c8250f4e6c3a8311965cf880eaea38b72eee7fbc"}]}