{"push_id":1080974583,"size":118,"distinct_size":118,"ref":"refs/heads/xosp-mm","head":"45e91f2c536284260b58d7bd32e7b8058fd0c577","before":"ffa8276f0ad7350da4637b1fa0ff515fbe9b7691","commits":[{"sha":"11bd63a8cc7d902d4592815f8ce5e282e8990841","author":{"email":"69af029e29d1d53443b2309aaeea9bc386c23b07@gmail.com","name":"FrozenCow"},"message":"usb: gadget: mass_storage: added sysfs entry for cdrom to LUNs\n\nThis patch adds a \"cdrom\" sysfs entry for each mass_storage LUN, just\nlike \"ro\" sysfs entry. This allows switching between USB and CD-ROM\nemulation without reinserting the module or recompiling the kernel.\n\nChange-Id: Idf83c74815b1ad370428ab9d3e5503d5f7bcd3b6","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/11bd63a8cc7d902d4592815f8ce5e282e8990841"},{"sha":"7f9cbc0f67208f97ddcae0e397661588a412f214","author":{"email":"6c9bff5473b68c1565a176ad458785864409abaa@gmail.com","name":"LuK1337"},"message":"usb: gadget: Partially remove ASUS changes\n\n* They break RW UMS in apps like DriveDroid.\n\nChange-Id: Ibdec19a57ce574df05220015331eca056ce8e9a7","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/7f9cbc0f67208f97ddcae0e397661588a412f214"},{"sha":"2e99b31af5b86cde79934b38006acc9c1952beea","author":{"email":"73675debcd8a436be48ec22211dcf44fe0df0a64@decadent.org.uk","name":"Ben Hutchings"},"message":"pipe: Fix buffer offset after partially failed read\n\nQuoting the RHEL advisory:\n\n> It was found that the fix for CVE-2015-1805 incorrectly kept buffer\n> offset and buffer length in sync on a failed atomic read, potentially\n> resulting in a pipe buffer state corruption. A local, unprivileged user\n> could use this flaw to crash the system or leak kernel memory to user\n> space. (CVE-2016-0774, Moderate)\n\nThe same flawed fix was applied to stable branches from 2.6.32.y to\n3.14.y inclusive, and I was able to reproduce the issue on 3.2.y.\nWe need to give pipe_iov_copy_to_user() a separate offset variable\nand only update the buffer offset if it succeeds.\n\nChange-Id: I988802f38acf40c7671fa0978880928b02d29b56\nReferences: https://rhn.redhat.com/errata/RHSA-2016-0103.html\nSigned-off-by: Ben Hutchings <ben@decadent.org.uk>\n(cherry picked from commit feae3ca2e5e1a8f44aa6290255d3d9709985d0b2)","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/2e99b31af5b86cde79934b38006acc9c1952beea"},{"sha":"4d11644eaab4f98b45ec33610a59a841165196a3","author":{"email":"0d6f70af3e794677c14e1cb2f27fcc973b2c55f0@gmail.com","name":"luca020400"},"message":"ASUS: configs: Disable debug\n\nChange-Id: I88bd57419b565fea5f57bce5a8715d410ed3bff9","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/4d11644eaab4f98b45ec33610a59a841165196a3"},{"sha":"6523ac5fcd423c6091f7a17777e9d6962fb100c0","author":{"email":"8765ed69255fb4fd05f2d83f19421193f38dbccb@codeaurora.org","name":"Rama Krishna Phani A"},"message":"soc: qcom: bam_dmux: Use SPS hold mem flag\n\nBam_dmux sometimes calls sps_connect() during time sensitive operations.\nSps_connect() internally has some memory allocations which may stall\nduring low memory conditions and can cause a timeout in bam_dmux\nSPS supports a configuration flag which changes these memory allocations\nto hold memory.\n\nUse this flag to prevent allocations from stalling and\nleading to timeouts.\n\nChange-Id: I506d5664e07baf56f4caa10d1868b1795a4439d9\nSigned-off-by: Rama Krishna Phani A <rphani@codeaurora.org>\nSigned-off-by: Sridhar Gujje <sgujje@codeaurora.org>\nSigned-off-by: Bharat Pawar <bpawar@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/6523ac5fcd423c6091f7a17777e9d6962fb100c0"},{"sha":"6fa7607a6d190d8894b7c00e5bfd56f3fab4f904","author":{"email":"0cc5db7488e13b393f245aa6263acec5e92fdcc5@samsung.com","name":"Chao Yu"},"message":"f2fs: relocate is_merged_page\n\nOperations in is_merged_page is related to inner bio cache, move it to\ndata.c.\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/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/6fa7607a6d190d8894b7c00e5bfd56f3fab4f904"},{"sha":"84daee0c3a01550d612d312cf2e92aee4b647f2e","author":{"email":"0cc5db7488e13b393f245aa6263acec5e92fdcc5@samsung.com","name":"Chao Yu"},"message":"f2fs: flush dirty nat entries when exceeding threshold\n\nWhen testing f2fs with xfstest, generic/251 is stuck for long time,\nthe case uses below serials to obtain fresh released space in device,\nin order to prepare for following fstrim test.\n\n1. rm -rf /mnt/dir\n2. mkdir /mnt/dir/\n3. cp -axT `pwd`/ /mnt/dir/\n4. goto 1\n\nDuring preparing step, all nat entries will be cached in nat cache,\nmost of them are dirty entries with invalid blkaddr, which means\nnodes related to these entries have been truncated, and they could\nbe reused after the dirty entries been checkpointed.\n\nHowever, there was no checkpoint been triggered, so nid allocators\n(e.g. mkdir, creat) will run into long journey of iterating all NAT\npages, looking for free nids in alloc_nid->build_free_nids.\n\nHere, in f2fs_balance_fs_bg we give another chance to do checkpoint\nto flush nat entries for reusing them in free nid cache when dirty\nentry count exceeds 10% of max count.\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/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/84daee0c3a01550d612d312cf2e92aee4b647f2e"},{"sha":"718a397bbdcb0867c344453c1d6a77a313c02d2d","author":{"email":"0cc5db7488e13b393f245aa6263acec5e92fdcc5@samsung.com","name":"Chao Yu"},"message":"f2fs: export dirty_nats_ratio in sysfs\n\nThis patch exports a new sysfs entry 'dirty_nat_ratio' to control threshold\nof dirty nat entries, if current ratio exceeds configured threshold,\ncheckpoint will be triggered in f2fs_balance_fs_bg for flushing dirty nats.\n\nSigned-off-by: Chao Yu <chao2.yu@samsung.com>\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\n Conflicts:\n\tDocumentation/ABI/testing/sysfs-fs-f2fs","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/718a397bbdcb0867c344453c1d6a77a313c02d2d"},{"sha":"3a217932e0191270b6f3e4d142c75721c1aa1d9e","author":{"email":"0cc5db7488e13b393f245aa6263acec5e92fdcc5@samsung.com","name":"Chao Yu"},"message":"f2fs: correct search area in get_new_segment\n\nget_new_segment starts from current segment position, tries to search a\nfree segment among its right neighbors locate in same section.\n\nBut previously our search area was set as [current segment, max segment],\nwhich means we have to search to more bits in free_segmap bitmap for some\nworse cases. So here we correct the search area to [current segment, last\nsegment in section] to avoid unnecessary searching.\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/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/3a217932e0191270b6f3e4d142c75721c1aa1d9e"},{"sha":"c87ca7347d2543d12f4454bb0a65935fbfb72a55","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: remove needless condition check\n\nThis patch removes needless condition variable.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/c87ca7347d2543d12f4454bb0a65935fbfb72a55"},{"sha":"83c46ecfa4448a489ebdfdd0435a15fce8319d28","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: use writepages->lock for WB_SYNC_ALL\n\nIf there are many writepages calls by multiple threads in background, we don't\nneed to serialize to merge all the bios, since it's background.\nIn such the case, it'd better to run writepages concurrently.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/83c46ecfa4448a489ebdfdd0435a15fce8319d28"},{"sha":"da320d4d2bf681551ad4a38ce9e70dcba456483a","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: fix to overcome inline_data floods\n\nThe scenario is:\n1. create lots of node blocks\n2. sync\n3. write lots of inline_data\n-> got panic due to no free space\n\nIn that case, we should flush node blocks when writing inline_data in #3,\nand trigger gc as well.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/da320d4d2bf681551ad4a38ce9e70dcba456483a"},{"sha":"6a4d28bfe5ebb1c861ded81a4428a9b9dcc1fe25","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: do f2fs_balance_fs when block is allocated\n\nWe should consider data block allocation to trigger f2fs_balance_fs.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/6a4d28bfe5ebb1c861ded81a4428a9b9dcc1fe25"},{"sha":"4ff5a3527391fe8a906e637621b52f3941d1b9c5","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: avoid multiple node page writes due to inline_data\n\nThe sceanrio is:\n1. create fully node blocks\n2. flush node blocks\n3. write inline_data for all the node blocks again\n4. flush node blocks redundantly\n\nSo, this patch tries to flush inline_data when flushing node blocks.\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/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/4ff5a3527391fe8a906e637621b52f3941d1b9c5"},{"sha":"078219adefe01b513328bb6e05203dbdaf59f75a","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: don't need to sync node page at every time\n\nIn write_end, we don't need to sync inode page at every time.\nInstead, we can expect f2fs_write_inode will update later.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/078219adefe01b513328bb6e05203dbdaf59f75a"},{"sha":"6a9e96e9d295314951a6bb715b54056f6d513b58","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: avoid needless sync_inode_page when reading inline_data\n\nIn write_begin, if there is an inline_data, f2fs loads it into 0'th data page.\nSince it's the read path, we don't need to sync its inode page.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/6a9e96e9d295314951a6bb715b54056f6d513b58"},{"sha":"5d75efc77f3da779516a4fee69f8b37f4cbcdab6","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: don't need to call set_page_dirty for io error\n\nIf end_io gets an error, we don't need to set the page as dirty, since we\nalready set f2fs_stop_checkpoint which will not flush any data.\n\nThis will resolve the following warning.\n\n======================================================\n[ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ]\n4.4.0+ #9 Tainted: G           O\n------------------------------------------------------\nxfs_io/26773 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:\n (&(&sbi->inode_lock[i])->rlock){+.+...}, at: [<ffffffffc025483f>] update_dirty_page+0x6f/0xd0 [f2fs]\n\nand this task is already holding:\n (&(&q->__queue_lock)->rlock){-.-.-.}, at: [<ffffffff81396ea2>] blk_queue_bio+0x422/0x490\nwhich would create a new lock dependency:\n (&(&q->__queue_lock)->rlock){-.-.-.} -> (&(&sbi->inode_lock[i])->rlock){+.+...}\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>\n\n Conflicts:\n\tfs/f2fs/data.c","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/5d75efc77f3da779516a4fee69f8b37f4cbcdab6"},{"sha":"d48d985cb21ac8b3fde8cc660ee2dfecac2ace92","author":{"email":"0cc5db7488e13b393f245aa6263acec5e92fdcc5@samsung.com","name":"Chao Yu"},"message":"f2fs: enhance foreground GC\n\nIf we configure section consist of multiple segments, foreground GC will\ndo the garbage collection with following approach:\n\n\tfor each segment in victim section\n\t\tblk_start_plug\n\t\tfor each valid block in segment\n\t\t\twrite out by OPU method\n\t\tsubmit bio cache   <---\n\t\tblk_finish_plug   <---\n\nThere are two issue:\n1) for most of the time, 'submit bio cache' will break the merging in\ncurrent bio buffer from writes of next segments, making a smaller bio\nsubmitting.\n2) block plug only cover IO submitting in one segment, which reduce\nopportunity of merging IOs in plug with multiple segments.\n\nSo refactor the code as below structure to strive for biggest\nopportunity of merging IOs:\n\n\tblk_start_plug\n\tfor each segment in victim section\n\t\tfor each valid block in segment\n\t\t\twrite out by OPU method\n\tsubmit bio cache\n\tblk_finish_plug\n\nTest method:\n1. mkfs.f2fs -s 8 /dev/sdX\n2. touch 32 files\n3. write 2M data into each file\n4. punch 1.5M data from offset 0 for each file\n5. trigger foreground gc through ioctl\n\nBefore patch, there are totoally 40 bios submitted.\nf2fs_submit_write_bio: dev = (8,32), WRITE_SYNC, DATA, sector = 65536, size = 122880\nf2fs_submit_write_bio: dev = (8,32), WRITE_SYNC, DATA, sector = 65776, size = 122880\nf2fs_submit_write_bio: dev = (8,32), WRITE_SYNC, DATA, sector = 66016, size = 122880\nf2fs_submit_write_bio: dev = (8,32), WRITE_SYNC, DATA, sector = 66256, size = 122880\nf2fs_submit_write_bio: dev = (8,32), WRITE_SYNC, DATA, sector = 66496, size = 32768\n----repeat for 8 times\n\nAfter patch, there are totally 35 bios submitted.\nf2fs_submit_write_bio: dev = (8,32), WRITE_SYNC, DATA, sector = 65536, size = 122880\n----repeat 34 times\nf2fs_submit_write_bio: dev = (8,32), WRITE_SYNC, DATA, sector = 73696, size = 16384\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/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/d48d985cb21ac8b3fde8cc660ee2dfecac2ace92"},{"sha":"a4470700e4ded3dd5910c9a347ad9ff7cd3c8906","author":{"email":"71255387a32c360dfbe6dfb7aaeb123bf1dc8cb6@kernel.org","name":"Jaegeuk Kim"},"message":"f2fs: use wait_for_stable_page to avoid contention\n\nIn write_begin, if storage supports stable_page, we don't need to wait for\nwriteback to update its contents.\nThis patch introduces to use wait_for_stable_page instead of\nwait_on_page_writeback.\n\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/a4470700e4ded3dd5910c9a347ad9ff7cd3c8906"},{"sha":"90e19d23430970b878d180d4cec0bb047574d10a","author":{"email":"82991dcc9aca727f8eb07b1d23f4d33fb1922a16@huawei.com","name":"Yunlei He"},"message":"f2fs: delete unnecessary wait for page writeback\n\nno need to wait inline file page writeback for no one\nuse it, so this patch delete unnecessary wait.\n\nSigned-off-by: Yunlei He <heyunlei@huawei.com>\nSigned-off-by: Jaegeuk Kim <jaegeuk@kernel.org>","distinct":true,"url":"https://api.github.com/repos/XOSP-Project-Devices/android_kernel_asus_msm8916/commits/90e19d23430970b878d180d4cec0bb047574d10a"}]}