{"push_id":583818241,"size":72,"distinct_size":72,"ref":"refs/heads/cm-12.0","head":"77975e2a392ff6b573b05c9eb01ea6d880d9f31a","before":"a2851d4df798c43e495a127fe9c4b8d507f8d222","commits":[{"sha":"d5bdf5b493721d007db52436e4819e43bfe5a5a3","author":{"email":"69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org","name":"Linus Torvalds"},"message":"Merge tag 'for-f2fs-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs updates from Jaegeuk Kim:\n \"This patch-set includes the following major enhancement patches:\n   - remount_fs callback function\n   - restore parent inode number to enhance the fsync performance\n   - xattr security labels\n   - reduce the number of redundant lock/unlock data pages\n   - avoid frequent write_inode calls\n\n  The other minor bug fixes are as follows.\n   - endian conversion bugs\n   - various bugs in the roll-forward recovery routine\"\n\n* tag 'for-f2fs-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (56 commits)\n  f2fs: fix to recover i_size from roll-forward\n  f2fs: remove the unused argument \"sbi\" of func destroy_fsync_dnodes()\n  f2fs: remove reusing any prefree segments\n  f2fs: code cleanup and simplify in func {find/add}_gc_inode\n  f2fs: optimize the init_dirty_segmap function\n  f2fs: fix an endian conversion bug detected by sparse\n  f2fs: fix crc endian conversion\n  f2fs: add remount_fs callback support\n  f2fs: recover wrong pino after checkpoint during fsync\n  f2fs: optimize do_write_data_page()\n  f2fs: make locate_dirty_segment() as static\n  f2fs: remove unnecessary parameter \"offset\" from __add_sum_entry()\n  f2fs: avoid freqeunt write_inode calls\n  f2fs: optimise the truncate_data_blocks_range() range\n  f2fs: use the F2FS specific flags in f2fs_ioctl()\n  f2fs: sync dir->i_size with its block allocation\n  f2fs: fix i_blocks translation on various types of files\n  f2fs: set sb->s_fs_info before calling parse_options()\n  f2fs: support xattr security labels\n  f2fs: fix iget/iput of dir during recovery\n  ...\n\nMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  f2fs: fix readdir incorrectness\n\nMerge tag 'for-f2fs-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs updates from Jaegeuk Kim:\n \"This patch-set includes the following major enhancement patches:\n   - support inline xattrs\n   - add sysfs support to control GCs explicitly\n   - add proc entry to show the current segment usage information\n   - improve the GC/SSR performance\n\n  The other bug fixes are as follows:\n   - avoid the overflow on status calculation\n   - fix some error handling routines\n   - fix inconsistent xattr states after power-off-recovery\n   - fix incorrect xattr node offset definition\n   - fix deadlock condition in fsync\n   - fix the fdatasync routine for power-off-recovery\"\n\n* tag 'for-f2fs-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (40 commits)\n  f2fs: optimize gc for better performance\n  f2fs: merge more bios of node block writes\n  f2fs: avoid an overflow during utilization calculation\n  f2fs: trigger GC when there are prefree segments\n  f2fs: use strncasecmp() simplify the string comparison\n  f2fs: fix omitting to update inode page\n  f2fs: support the inline xattrs\n  f2fs: add the truncate_xattr_node function\n  f2fs: introduce __find_xattr for readability\n  f2fs: reserve the xattr space dynamically\n  f2fs: add flags for inline xattrs\n  f2fs: fix error return code in init_f2fs_fs()\n  f2fs: fix wrong BUG_ON condition\n  f2fs: fix memory leak when init f2fs filesystem fail\n  f2fs: fix a compound statement label error\n  f2fs: avoid writing inode redundantly when creating a file\n  f2fs: alloc_page() doesn't return an ERR_PTR\n  f2fs: should cover i_xattr_nid with its xattr node page lock\n  f2fs: check the free space first in new_node_page\n  f2fs: clean up the needless end 'return' of void function\n  ...\n\nMerge tag 'for-f2fs-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs updates from Jaegeuk Kim:\n \"This patch-set includes the following major enhancement patches.\n   - add a sysfs to control reclaiming free segments\n   - enhance the f2fs global lock procedures\n   - enhance the victim selection flow\n   - wait for selected node blocks during fsync\n   - add some tracepoints\n   - add a config to remove abundant BUG_ONs\n\n  The other bug fixes are as follows.\n   - fix deadlock on acl operations\n   - fix some bugs with respect to orphan inodes\n\n  And, there are a bunch of cleanups\"\n\n* tag 'for-f2fs-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (42 commits)\n  f2fs: issue more large discard command\n  f2fs: fix memory leak after kobject init failed in fill_super\n  f2fs: cleanup waiting routine for writeback pages in cp\n  f2fs: avoid to use a NULL point in destroy_segment_manager\n  f2fs: remove unnecessary TestClearPageError when wait pages writeback\n  f2fs: update f2fs document\n  f2fs: avoid to wait all the node blocks during fsync\n  f2fs: check all ones or zeros bitmap with bitops for better mount performance\n  f2fs: change the method of calculating the number summary blocks\n  f2fs: fix calculating incorrect free size when update xattr in __f2fs_setxattr\n  f2fs: add an option to avoid unnecessary BUG_ONs\n  f2fs: introduce CONFIG_F2FS_CHECK_FS for BUG_ON control\n  f2fs: fix a deadlock during init_acl procedure\n  f2fs: clean up acl flow for better readability\n  f2fs: remove unnecessary segment bitmap updates\n  f2fs: add tracepoint for vm_page_mkwrite\n  f2fs: add tracepoint for set_page_dirty\n  f2fs: remove redundant set_page_dirty from write_compacted_summaries\n  f2fs: add reclaiming control by sysfs\n  f2fs: introduce f2fs_balance_fs_bg for some background jobs\n  ...\n\nMerge tag 'for-f2fs-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs updates from Jaegeuk Kim:\n \"In this round, a couple of sysfs entries were introduced to tune the\n  f2fs at runtime.\n\n  In addition, f2fs starts to support inline_data and improves the\n  read/write performance in some workloads by refactoring bio-related\n  flows.\n\n  This patch-set includes the following major enhancement patches.\n   - support inline_data\n   - refactor bio operations such as merge operations and rw type\n     assignment\n   - enhance the direct IO path\n   - enhance bio operations\n   - truncate a node page when it becomes obsolete\n   - add sysfs entries: small_discards, max_victim_search, and\n     in-place-update\n   - add a sysfs entry to control max_victim_search\n\n  The other bug fixes are as follows.\n   - fix a bug in truncate_partial_nodes\n   - avoid warnings during sparse and build process\n   - fix error handling flows\n   - fix potential bit overflows\n\n  And, there are a bunch of cleanups\"\n\n* tag 'for-f2fs-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (95 commits)\n  f2fs: drop obsolete node page when it is truncated\n  f2fs: introduce NODE_MAPPING for code consistency\n  f2fs: remove the orphan block page array\n  f2fs: add help function META_MAPPING\n  f2fs: move a branch for code redability\n  f2fs: call mark_inode_dirty to flush dirty pages\n  f2fs: clean checkpatch warnings\n  f2fs: missing REQ_META and REQ_PRIO when sync_meta_pages(META_FLUSH)\n  f2fs: avoid f2fs_balance_fs call during pageout\n  f2fs: add delimiter to seperate name and value in debug phrase\n  f2fs: use spinlock rather than mutex for better speed\n  f2fs: move alloc new orphan node out of lock protection region\n  f2fs: move grabing orphan pages out of protection region\n  f2fs: remove the needless parameter of f2fs_wait_on_page_writeback\n  f2fs: update documents and a MAINTAINERS entry\n  f2fs: add a sysfs entry to control max_victim_search\n  f2fs: improve write performance under frequent fsync calls\n  f2fs: avoid to read inline data except first page\n  f2fs: avoid to left uninitialized data in page when read inline data\n  f2fs: fix truncate_partial_nodes bug\n  ...\n\nMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n  f2fs: use generic posix ACL infrastructure\n  ...\n\nMerge tag 'for-f2fs-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs updates from Jaegeuk Kim:\n \"This patch-set includes the following major enhancement patches.\n   - introduce large directory support\n   - introduce f2fs_issue_flush to merge redundant flush commands\n   - merge write IOs as much as possible aligned to the segment\n   - add sysfs entries to tune the f2fs configuration\n   - use radix_tree for the free_nid_list to reduce in-memory operations\n   - remove costly bit operations in f2fs_find_entry\n   - enhance the readahead flow for CP/NAT/SIT/SSA blocks\n\n  The other bug fixes are as follows:\n   - recover xattr node blocks correctly after sudden-power-cut\n   - fix to calculate the maximum number of node ids\n   - enhance to handle many error cases\n\n  And, there are a bunch of cleanups\"\n\n* tag 'for-f2fs-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (62 commits)\n  f2fs: fix wrong statistics of inline data\n  f2fs: check the acl's validity before setting\n  f2fs: introduce f2fs_issue_flush to avoid redundant flush issue\n  f2fs: fix to cover io->bio with io_rwsem\n  f2fs: fix error path when fail to read inline data\n  f2fs: use list_for_each_entry{_safe} for simplyfying code\n  f2fs: avoid free slab cache under spinlock\n  f2fs: avoid unneeded lookup when xattr name length is too long\n  f2fs: avoid unnecessary bio submit when wait page writeback\n  f2fs: return -EIO when node id is not matched\n  f2fs: avoid RECLAIM_FS-ON-W warning\n  f2fs: skip unnecessary node writes during fsync\n  f2fs: introduce fi->i_sem to protect fi's info\n  f2fs: change reclaim rate in percentage\n  f2fs: add missing documentation for dir_level\n  f2fs: remove unnecessary threshold\n  f2fs: throttle the memory footprint with a sysfs entry\n  f2fs: avoid to drop nat entries due to the negative nr_shrink\n  f2fs: call f2fs_wait_on_page_writeback instead of native function\n  f2fs: introduce nr_pages_to_write for segment alignment\n  ...\n\nMerge tag 'for-f2fs-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs updates from Jaegeuk Kim:\n \"In this round, there is no special interesting feature, but we've\n  investigated a couple of tuning points with respect to the I/O flow.\n  Several major bug fixes and a bunch of clean-ups also have been made.\n\n  This patch-set includes the following major enhancement patches:\n   - enhance wait_on_page_writeback\n   - support SEEK_DATA and SEEK_HOLE\n   - enhance readahead flows\n   - enhance IO flushes\n   - support fiemap\n   - add some tracepoints\n\n  The other bug fixes are as follows:\n   - fix to support a large volume > 2TB correctly\n   - recovery bug fix wrt fallocated space\n   - fix recursive lock on xattr operations\n   - fix some cases on the remount flow\n\n  And, there are a bunch of cleanups\"\n\n* tag 'for-f2fs-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (52 commits)\n  f2fs: support f2fs_fiemap\n  f2fs: avoid not to call remove_dirty_inode\n  f2fs: recover fallocated space\n  f2fs: fix to recover data written by dio\n  f2fs: large volume support\n  f2fs: avoid crash when trace f2fs_submit_page_mbio event in ra_sum_pages\n  f2fs: avoid overflow when large directory feathure is enabled\n  f2fs: fix recursive lock by f2fs_setxattr\n  MAINTAINERS: add a co-maintainer from samsung for F2FS\n  MAINTAINERS: change the email address for f2fs\n  f2fs: use inode_init_owner() to simplify codes\n  f2fs: avoid to use slab memory in f2fs_issue_flush for efficiency\n  f2fs: add a tracepoint for f2fs_read_data_page\n  f2fs: add a tracepoint for f2fs_write_{meta,node,data}_pages\n  f2fs: add a tracepoint for f2fs_write_{meta,node,data}_page\n  f2fs: add a tracepoint for f2fs_write_end\n  f2fs: add a tracepoint for f2fs_write_begin\n  f2fs: fix checkpatch warning\n  f2fs: deactivate inode page if the inode is evicted\n  f2fs: decrease the lock granularity during write_begin\n  ...\n\nMerge tag 'f2fs-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs bugfixes from Jaegeuk Kim:\n \"This includes a couple of bug fixes found by xfstests.  In addition,\n  one critical bug was reported by Brian Chadwick, which is falling into\n  the infinite loop in balance_dirty_pages.  And it turned out due to\n  the IO merging policy in f2fs, which was newly merged in 3.16.\n\n   - fix normal and recovery path for fallocated regions\n   - fix error case mishandling\n   - recover renamed fsync inodes correctly\n   - fix to get out of infinite loops in balance_dirty_pages\n   - fix kernel NULL pointer error\"\n\n* tag 'f2fs-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:\n  f2fs: avoid to access NULL pointer in issue_flush_thread\n  f2fs: check bdi->dirty_exceeded when trying to skip data writes\n  f2fs: do checkpoint for the renamed inode\n  f2fs: release new entry page correctly in error path of f2fs_rename\n  f2fs: fix error path in init_inode_metadata\n  f2fs: check lower bound nid value in check_nid_range\n  f2fs: remove unused variables in f2fs_sm_info\n  f2fs: fix not to allocate unnecessary blocks during fallocate\n  f2fs: recover fallocated data and its i_size together\n  f2fs: fix to report newly allocate region as extent\n\nMerge tag 'for-f2fs-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs updates from Jaegeuk Kim:\n \"This series includes patches to:\n   - add nobarrier mount option\n   - support tmpfile and rename2\n   - enhance the fdatasync behavior\n   - fix the error path\n   - fix the recovery routine\n   - refactor a part of the checkpoint procedure\n   - reduce some lock contentions\"\n\n* tag 'for-f2fs-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (40 commits)\n  f2fs: use for_each_set_bit to simplify the code\n  f2fs: add f2fs_balance_fs for expand_inode_data\n  f2fs: invalidate xattr node page when evict inode\n  f2fs: avoid skipping recover_inline_xattr after recover_inline_data\n  f2fs: add tracepoint for f2fs_direct_IO\n  f2fs: reduce competition among node page writes\n  f2fs: fix coding style\n  f2fs: remove redundant lines in allocate_data_block\n  f2fs: add tracepoint for f2fs_issue_flush\n  f2fs: avoid retrying wrong recovery routine when error was occurred\n  f2fs: test before set/clear bits\n  f2fs: fix wrong condition for unlikely\n  f2fs: enable in-place-update for fdatasync\n  f2fs: skip unnecessary data writes during fsync\n  f2fs: add info of appended or updated data writes\n  f2fs: use radix_tree for ino management\n  f2fs: add infra for ino management\n  f2fs: punch the core function for inode management\n  f2fs: add nobarrier mount option\n  f2fs: fix to put root inode in error path of fill_super\n  ...\n\nMerge tag 'for-f2fs-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs bug fixes from Jaegeuk Kim:\n \"This series includes patches to:\n\n   - fix recovery routines\n   - fix bugs related to inline_data/xattr\n   - fix when casting the dentry names\n   - handle EIO or ENOMEM correctly\n   - fix memory leak\n   - fix lock coverage\"\n\n* tag 'for-f2fs-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (28 commits)\n  f2fs: reposition unlock_new_inode to prevent accessing invalid inode\n  f2fs: fix wrong casting for dentry name\n  f2fs: simplify by using a literal\n  f2fs: truncate stale block for inline_data\n  f2fs: use macro for code readability\n  f2fs: introduce need_do_checkpoint for readability\n  f2fs: fix incorrect calculation with total/free inode num\n  f2fs: remove rename and use rename2\n  f2fs: skip if inline_data was converted already\n  f2fs: remove rewrite_node_page\n  f2fs: avoid double lock in truncate_blocks\n  f2fs: prevent checkpoint during roll-forward\n  f2fs: add WARN_ON in f2fs_bug_on\n  f2fs: handle EIO not to break fs consistency\n  f2fs: check s_dirty under cp_mutex\n  f2fs: unlock_page when node page is redirtied out\n  f2fs: introduce f2fs_cp_error for readability\n  f2fs: give a chance to mount again when encountering errors\n  f2fs: trigger release_dirty_inode in f2fs_put_super\n  f2fs: don't skip checkpoint if there is no dirty node pages\n  ...\n\nMerge tag 'f2fs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs updates from Jaegeuk Kim:\n \"This patch-set introduces a couple of new features such as large\n  sector size, FITRIM, and atomic/volatile writes.\n\n  Several patches enhance power-off recovery and checkpoint routines.\n\n  The fsck.f2fs starts to support fixing corrupted partitions with\n  recovery hints provided by this patch-set.\n\n  Summary:\n   - retain some recovery information for fsck.f2fs\n   - enhance checkpoint speed\n   - enhance flush command management\n   - bug fix for lseek\n   - tune in-place-update policies\n   - enhance roll-forward speed\n   - revisit all the roll-forward and fsync rules\n   - support larget sector size\n   - support FITRIM\n   - support atomic and volatile writes\n\n  And several clean-ups and bug fixes are included\"\n\n* tag 'f2fs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (42 commits)\n  f2fs: support volatile operations for transient data\n  f2fs: support atomic writes\n  f2fs: remove unused return value\n  f2fs: clean up f2fs_ioctl functions\n  f2fs: potential shift wrapping buf in f2fs_trim_fs()\n  f2fs: call f2fs_unlock_op after error was handled\n  f2fs: check the use of macros on block counts and addresses\n  f2fs: refactor flush_nat_entries to remove costly reorganizing ops\n  f2fs: introduce FITRIM in f2fs_ioctl\n  f2fs: introduce cp_control structure\n  f2fs: use more free segments until SSR is activated\n  f2fs: change the ipu_policy option to enable combinations\n  f2fs: fix to search whole dirty segmap when get_victim\n  f2fs: fix to clean previous mount option when remount_fs\n  f2fs: skip punching hole in special condition\n  f2fs: support large sector size\n  f2fs: fix to truncate blocks past EOF in ->setattr\n  f2fs: update i_size when __allocate_data_block\n  f2fs: use MAX_BIO_BLOCKS(sbi)\n  f2fs: remove redundant operation during roll-forward recovery\n  ...\n\nMerge tag 'for-f2fs-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs updates from Jaegeuk Kim:\n \"This patch-set includes lots of bug fixes based on clean-ups and\n  refactored codes.  And inline_dir was introduced and two minor mount\n  options were added.  Details from signed tag:\n\n  This series includes the following enhancement with refactored flows.\n   - fix inmemory page operations\n   - fix wrong inline_data & inline_dir logics\n   - enhance memory and IO control under memory pressure\n   - consider preemption on radix_tree operation\n   - fix memory leaks and deadlocks\n\n  But also, there are a couple of new features:\n   - support inline_dir to store dentries inside inode page\n   - add -o fastboot to reduce booting time\n   - implement -o dirsync\n\n  And a lot of clean-ups and minor bug fixes as well\"\n\n* tag 'for-f2fs-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (88 commits)\n  f2fs: avoid to ra unneeded blocks in recover flow\n  f2fs: introduce is_valid_blkaddr to cleanup codes in ra_meta_pages\n  f2fs: fix to enable readahead for SSA/CP blocks\n  f2fs: use atomic for counting inode with inline_{dir,inode} flag\n  f2fs: cleanup path to need cp at fsync\n  f2fs: check if inode state is dirty at fsync\n  f2fs: count the number of inmemory pages\n  f2fs: release inmemory pages when the file was closed\n  f2fs: set page private for inmemory pages for truncation\n  f2fs: count inline_xx in do_read_inode\n  f2fs: do retry operations with cond_resched\n  f2fs: call radix_tree_preload before radix_tree_insert\n  f2fs: use rw_semaphore for nat entry lock\n  f2fs: fix missing kmem_cache_free\n  f2fs: more fast lookup for gc_inode list\n  f2fs: cleanup redundant macro\n  f2fs: fix to return correct error number in f2fs_write_begin\n  f2fs: cleanup if-statement of phase in gc_data_segment\n  f2fs: fix to recover converted inline_data\n  f2fs: make clean the page before writing\n  ...","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/d5bdf5b493721d007db52436e4819e43bfe5a5a3"},{"sha":"ef966290aedec7fa69b87dd8128cea930c9c194b","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: remove checking dirty_exceed\n\nWe don't need to force to write dirty_exceeded for f2fs_balance_fs_bg.\nThis flag was only meaningful to write bypassing conditions.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/ef966290aedec7fa69b87dd8128cea930c9c194b"},{"sha":"ea054cdf715108ec2826b61daa8950179a3db154","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: fix wrong condition check to trigger f2fs_sync_fs\n\nIf there is not enough available memory, we need to trigger f2fs_sync_fs.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/ea054cdf715108ec2826b61daa8950179a3db154"},{"sha":"d7333a8df37c9664c6a577ea10a8ebcb1eaf3b4c","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: don't need to call lock_op and lock_page for abort\n\nWe don't need to call lock_op and lock_page at the aborting path.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/d7333a8df37c9664c6a577ea10a8ebcb1eaf3b4c"},{"sha":"d3b487d1f2009776234091af5cc68d66dda052df","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: change atomic and volatile write policies\n\nThis patch adds two new ioctls to release inmemory pages grabbed by atomic\nwrites.\n o f2fs_ioc_abort_volatile_write\n  - If transaction was failed, all the grabbed pages and data should be written.\n o f2fs_ioc_release_volatile_write\n  - This is to enhance the performance of PERSIST mode in sqlite.\n\nIn order to avoid huge memory consumption which causes OOM, this patch changes\nvolatile writes to use normal dirty pages, instead blocked flushing to the disk\nas long as system does not suffer from memory pressure.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/d3b487d1f2009776234091af5cc68d66dda052df"},{"sha":"ff4e371e6b03f9f1a58052bb8a73fac1eb46a0a4","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: fix small discards not to issue redundantly\n\nThe ckpt_valid_map and cur_valid_map are synced by seg_info_to_raw_sit.\n\nIn the case of small discards, the candidates are selected before sync,\nwhile fitrim selects candidates after sync.\n\nSo, for small discards, we need to add candidates only just being obsoleted.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/ff4e371e6b03f9f1a58052bb8a73fac1eb46a0a4"},{"sha":"9ceed5513a2cfc1c24d0284edc4723660fdb9814","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: remove unnecessary call to invalidate inmemory pages\n\nNow we use inmemory pages for atomic write only and provide abort procedure,\nwe don't need to truncate them explicitly.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/9ceed5513a2cfc1c24d0284edc4723660fdb9814"},{"sha":"7c485305eda2d3549803f0c39eba8aef180896dd","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: use missing the use of f2fs_kunmap_page\n\nThis patch calls f2fs_kunmap_page which I missed before.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/7c485305eda2d3549803f0c39eba8aef180896dd"},{"sha":"831dc5e716aa577a98e5c9763c56fed30bb25a73","author":{"email":"0cc5db7488e13b393f245aa6263acec5e92fdcc5@samsung.com","name":"Chao Yu"},"message":"f2fs: readahead contiguous current summary blocks in checkpoint\n\nLet's add readahead code for reading contiguous compact/normal summary blocks\nin checkpoint, then we will gain better performance in mount procedure.\n\nChanges from v1\n  o remove inappropriate 'unlikely' in npages_for_summary_flush.\n\nSigned-off-by: Chao Yu <chao2.yu@samsung.com>\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/831dc5e716aa577a98e5c9763c56fed30bb25a73"},{"sha":"f50e539f2de3df97ba869224fef89dd589e1d680","author":{"email":"0cc5db7488e13b393f245aa6263acec5e92fdcc5@samsung.com","name":"Chao Yu"},"message":"f2fs: merge two uchar variable in struct node_info to reduce memory cost\n\nThis patch moves one member of struct nat_entry: _flag_ to struct node_info,\nso _version_ in struct node_info and _flag_ which are unsigned char type will\nmerge to one 32-bit space in register/memory. So the size of nat_entry will be\nreduced from 28 bytes to 24 bytes (for 64-bit machine, reduce its size from 40\nbytes to 32 bytes) and then slab memory using by f2fs will be reduced.\n\nchanges from v2:\n o update description of memory usage gain for 64-bit machine suggested by\n   Changman Lee.\nchanges from v1:\n o introduce inline copy_node_info() to copy valid data from node info suggested\n   by Jaegeuk Kim, it can avoid bug.\n\nReviewed-by: Changman Lee <cm224.lee@samsung.com>\nSigned-off-by: Chao Yu <chao2.yu@samsung.com>\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/f50e539f2de3df97ba869224fef89dd589e1d680"},{"sha":"541bfafbb9feb420181ab285f1ce18fdcd193e38","author":{"email":"0cc5db7488e13b393f245aa6263acec5e92fdcc5@samsung.com","name":"Chao Yu"},"message":"f2fs: use ra_meta_pages to simplify readahead code in restore_node_summary\n\nUse more common function ra_meta_pages() with META_POR to readahead node blocks\nin restore_node_summary() instead of ra_sum_pages(), hence we can simplify the\nreadahead code there, and also we can remove unused function ra_sum_pages().\n\nchanges from v2:\n o use invalidate_mapping_pages as before suggested by Changman Lee.\nchanges from v1:\n o fix one bug when using truncate_inode_pages_range which is pointed out by\n   Jaegeuk Kim.\n\nReviewed-by: Changman Lee <cm224.lee@samsung.com>\nSigned-off-by: Chao Yu <chao2.yu@samsung.com>\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/541bfafbb9feb420181ab285f1ce18fdcd193e38"},{"sha":"91fa3f900339ae5bf3872a36bc00bf983d85dd2a","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: use f2fs_io_info to clean up messy parameters during IO path\n\nThis patch cleans up parameters on IO paths.\nThe key idea is to use f2fs_io_info adding a parameter, block address, and then\nuse this structure as parameters.\n\nReviewed-by: Chao Yu <chao2.yu@samsung.com>\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/91fa3f900339ae5bf3872a36bc00bf983d85dd2a"},{"sha":"829c7db2c438fe67f91e25e5601e8f93f96dc933","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: add f2fs_io_tracer support\n\nThis patch adds:\n o initial trace.c and trace.h with skeleton functions\n o Kconfig and Makefile to activate this feature\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/829c7db2c438fe67f91e25e5601e8f93f96dc933"},{"sha":"c8e1027738bbf2f98a0b890019487a1559809e36","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: add key functions for f2fs_io_tracer\n\nThis patch adds two key functions to trace process ids and IOs.\nThe basic idea is to\n1. remain process ids, pids, in page->private.\n2. show pids in IO traces.\n\nSo, later we can retrieve process information according to IO traces.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/c8e1027738bbf2f98a0b890019487a1559809e36"},{"sha":"86130b3870306c39b0471dc37c069a5f001caeb9","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: activate f2fs_trace_pid\n\nThis patch activates f2fs_trace_pid.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/86130b3870306c39b0471dc37c069a5f001caeb9"},{"sha":"07fc578a7d520a84abfdcab22988e5eb80370f41","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: activate f2fs_trace_ios\n\nThis patch activates f2fs_trace_ios.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/07fc578a7d520a84abfdcab22988e5eb80370f41"},{"sha":"9f3eb007cc0aebbb60ba5297bbc9ffb962600b4f","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: avoid double lock for cp_rwsem\n\nThe __f2fs_add_link is covered by cp_rwsem all the time.\nThis calls init_inode_metadata, which conducts some acl operations including\nmemory allocation with GFP_KERNEL previously.\nBut, under memory pressure, f2fs_write_data_page can be called, which also\ngrabs cp_rwsem too.\n\nIn this case, this incurs a deadlock pointed by Chao.\nThread #1        Thread #2\n down_read\n                 down_write\n  down_read\n -> here down_read should wait forever.\n\nReviewed-by: Chao Yu <chao2.yu@samsung.com>\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/9f3eb007cc0aebbb60ba5297bbc9ffb962600b4f"},{"sha":"02f20edef851bc4e8368a28a08acd97076a02674","author":{"email":"f10da886ecf5f6d400f766170992d382feccd416@samsung.com","name":"Changman Lee"},"message":"f2fs: add block count by in-place-update in stat info\n\nThis patch adds block count by in-place-update in stat.\n\nSigned-off-by: Changman Lee <cm224.lee@samsung.com>\nReviewed-by: Chao Yu <chao2.yu@samsung.com>\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/02f20edef851bc4e8368a28a08acd97076a02674"},{"sha":"46d456cbc4812238600231db8588495d0f3b728b","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: fix missing cold bit during recovery\n\nIn do_recover_data, we find and update previous node pages after updating\nits new block addresses.\nAfter then, we call fill_node_footer without reset field, we erase its\ncold bit so that this new cold node block is written to wrong log area.\nThis patch fixes not to miss its old flag.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/46d456cbc4812238600231db8588495d0f3b728b"},{"sha":"d7c7c926eb203885e43589c68918fa98932cdd45","author":{"email":"0cc5db7488e13b393f245aa6263acec5e92fdcc5@samsung.com","name":"Chao Yu"},"message":"f2fs: cleanup trace event of f2fs_submit_page_{m,}bio with DECLARE_EVENT_CLASS\n\nThis patch adds missing parameter _type_ for trace_f2fs_submit_page_bio, then\nuse DECLARE_EVENT_CLASS/DEFINE_EVENT_CONDITION pair to cleanup some trace event\ncode related to f2fs_submit_page_{m,}bio.\n\nAdditionally, after we remove redundant code, size of code can be reduced:\n   text    data     bss     dec     hex filename\n 176787    8712      56  185555   2d4d3 f2fs.ko.org\n 174408    8648      56  183112   2cb48 f2fs.ko\n\nSigned-off-by: Chao Yu <chao2.yu@samsung.com>\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/lg-devs/android_kernel_lge_msm8994/commits/d7c7c926eb203885e43589c68918fa98932cdd45"}]}