{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":206085323,"defaultBranch":"thirteen","name":"kernel_xiaomi_raphael","ownerLogin":"PixelExperience-Devices","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-09-03T13:33:50.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/34276639?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1709856506.0","currentOid":""},"activityList":{"items":[{"before":"00818d4f2b252de0e0017ae394b52daafe75f171","after":"1538cfc781149e32912ea04c36ceb5563afcf12f","ref":"refs/heads/fourteen-wip","pushedAt":"2024-04-06T00:11:09.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"lz4: Update to version 1.9.4\n\nSigned-off-by: Andrzej Perczak ","shortMessageHtmlLink":"lz4: Update to version 1.9.4"}},{"before":"3148d13c9a148430f552e8206fe237ee600bb99f","after":"00818d4f2b252de0e0017ae394b52daafe75f171","ref":"refs/heads/fourteen-wip","pushedAt":"2024-04-05T01:27:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"treewide: revert over inline optimization (erofs)","shortMessageHtmlLink":"treewide: revert over inline optimization (erofs)"}},{"before":"d7a8222998602ddd4cdea4581860221eeac51857","after":"3148d13c9a148430f552e8206fe237ee600bb99f","ref":"refs/heads/fourteen-wip","pushedAt":"2024-04-05T01:17:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"Import EROFS from https://github.com/pwnrazr/kernel_raphael_sm8150/tree/80301c31dcd3ae8532f6a3d3ba9f6caaade4e512\nSquashed commit of the following:\n\ncommit 37695a77521cfccbf92840cc13dcc4d8cb7dda96\nAuthor: pwnrazr <1644943+pwnrazr@users.noreply.github.com>\nDate: Thu Feb 16 00:00:20 2023 +0800\n\n raphael_defconfig: enable erofs highpri percpu kthread\n\ncommit 816e4801de2002f5f53e7cd2f7aea282755d5391\nAuthor: John Galt \nDate: Mon Mar 6 15:48:21 2023 -0500\n\n fs/(erofs || f2fs): drop WQ_UNBOUND\n\n Due to asym arm64 latency regression on WQ_UNBOUND\n\ncommit d0e5cb53f102962d0d40ff12f548542d71f6340e\nAuthor: John Galt \nDate: Wed Feb 15 10:44:37 2023 -0500\n\n erofs/zdata: modify set sched to use RR at high prio for lower latency\n\n Fixes: bdd668d3b54202\n\ncommit afc1c08015966909a27c9d3d53d8796e80c3e4ef\nAuthor: Sandeep Dhavale \nDate: Wed Feb 8 06:53:49 2023 +0000\n\n [WIP] BACKPORT: FROMLIST: erofs: add per-cpu threads for decompression\n\n Using per-cpu thread pool we can reduce the scheduling latency compared\n to workqueue implementation. With this patch scheduling latency and\n variation is reduced as per-cpu threads are high priority kthread_workers.\n\n The results were evaluated on arm64 Android devices running 5.10 kernel.\n\n The table below shows resulting improvements of total scheduling latency\n for the same app launch benchmark runs with 50 iterations. Scheduling\n latency is the latency between when the task (workqueue kworker vs\n kthread_worker) became eligible to run to when it actually started\n running.\n +-------------------------+-----------+----------------+---------+\n | | workqueue | kthread_worker | diff |\n +-------------------------+-----------+----------------+---------+\n | Average (us) | 15253 | 2914 | -80.89% |\n | Median (us) | 14001 | 2912 | -79.20% |\n | Minimum (us) | 3117 | 1027 | -67.05% |\n | Maximum (us) | 30170 | 3805 | -87.39% |\n | Standard deviation (us) | 7166 | 359 | |\n +-------------------------+-----------+----------------+---------+\n\n Background: Boot times and cold app launch benchmarks are very\n important to the android ecosystem as they directly translate to\n responsiveness from user point of view. While erofs provides\n a lot of important features like space savings, we saw some\n performance penalty in cold app launch benchmarks in few scenarios.\n Analysis showed that the significant variance was coming from the\n scheduling cost while decompression cost was more or less the same.\n\n Having per-cpu thread pool we can see from the above table that this\n variation is reduced by ~80% on average. This problem was discussed\n at LPC 2022. Link to LPC 2022 slides and\n talk at [1]\n\n [1] https://lpc.events/event/16/contributions/1338/\n\n Link: https://lore.kernel.org/lkml/Y+DP6V9fZG7XPPGy@debian/\n\n Change-Id: I454da5bc17f285d99047b93dc1fc70444f287156\n Signed-off-by: Sandeep Dhavale \n Signed-off-by: Gao Xiang \n\ncommit 354d97368e8ffd832a43f6aa0d7c43f52268ca80\nAuthor: pwnrazr <1644943+pwnrazr@users.noreply.github.com>\nDate: Sat May 7 13:21:24 2022 +0800\n\n sm8150: dtsi: remove barrier and discard mount options\n\ncommit 6c0b4a711ecb5b0e30c6115959b48af641e9b5bf\nAuthor: pwnrazr <1644943+pwnrazr@users.noreply.github.com>\nDate: Sat May 7 13:20:47 2022 +0800\n\n Revert \"arch: arm64: disable erofs\"\n\n This reverts commit fe6fe5ef6107fc245ca50cd38f585e580fe2fc59.\n\ncommit 515b1441ad6ac0f9e1c74013cd80e9b30065edc0\nAuthor: kondors1995 \nDate: Wed Feb 8 16:43:29 2023 +0200\n\n Revert \"raphael_defconfig: Revert FBEv2 defconfig changes\"\n\n This reverts commit 97bb4a1d5d103804c72617481fca9b6cf93660a2.\n\ncommit c010e1a5176d73f3829ce49cfdb0fcc0ee5c777c\nAuthor: Yue Hu \nDate: Thu Apr 7 13:05:43 2022 +0800\n\n erofs: do not prompt for risk any more when using big pcluster\n\n The big pcluster feature has been merged for a year, it has been mostly\n stable now.\n\n Signed-off-by: Yue Hu \n Reviewed-by: Gao Xiang \n Reviewed-by: Chao Yu \n Link: https://lore.kernel.org/r/20220407050505.12683-1-huyue2@coolpad.com\n Signed-off-by: Gao Xiang \n Signed-off-by: Cyber Knight \n\ncommit b135290ae7af3f5f7b69e24c6ca678c4f6572cf2\nAuthor: John Galt \nDate: Mon Jun 6 13:23:06 2022 -0400\n\n erofs: Squashed revert of some recent backports:\n\n Keep out of release branch until\n d71eb1da8e8b59a7072c51ce48175e159ecfd79a is fixed, and also readmore\n decompress strategy is introduced.\n\n commit b9494371e2493f1a8ccc18b1c80f67867f6f623a\n Author: John Galt \n Date: Mon Jun 6 13:22:49 2022 -0400\n\n Revert \"erofs: iomap support for non-tailpacking DIO\"\n\n This reverts commit 804ddc92b769a9cc9926d0262725e6330d0f0a76.\n\n commit 0649a6ed5e759857aabc334abeddacbe4eac7859\n Author: John Galt \n Date: Mon Jun 6 13:22:41 2022 -0400\n\n Revert \"erofs: adapt 3f4e33b91a28 to our tree\"\n\n This reverts commit 016f1ffa36da74ab67ed99abd474a0b2da5133eb.\n\n commit a3704a5a79990f75c8336c9001939db6e6d21181\n Author: John Galt \n Date: Mon Jun 6 13:22:33 2022 -0400\n\n Revert \"erofs: add support for the full decompressed length\"\n\n This reverts commit a4a195b954114aeb741cf4f8b14256ed92e7c545.\n\n commit 5a506fe78d7624f1a94e60d0e3d7113ae6934ea7\n Author: John Galt \n Date: Mon Jun 6 13:22:27 2022 -0400\n\n Revert \"erofs: add fiemap support with iomap\"\n\n This reverts commit 07577933c3fb397791f113ad36fac7a061385826.\n\n commit dd93cf9efb3d1f9608780c44a50a860eb9921cf4\n Author: John Galt \n Date: Mon Jun 6 13:22:16 2022 -0400\n\n Revert \"erofs: introduce chunk-based file on-disk format\"\n\n This reverts commit 690f4dc6d3b27ed6278b8fbae20273883f616e56.\n\n commit a1846fe6257df43564f42eb153131796f3fd84ed\n Author: John Galt \n Date: Mon Jun 6 13:22:08 2022 -0400\n\n Revert \"erofs: support reading chunk-based uncompressed files\"\n\n This reverts commit 5bd83bfc55b6169af5bbf3c0ba4528577c2fa1ff.\n\n commit 3e1c2530db00b6605d8db09e207cb3633e61cdba\n Author: John Galt \n Date: Mon Jun 6 13:22:03 2022 -0400\n\n Revert \"erofs: fix double free of 'copied'\"\n\n This reverts commit c608a6f861e0d457d6c9a5905e8b3d928e672075.\n\n commit 7a9e0f351f8d41a01a0763316bbd4b6ace94bea0\n Author: John Galt \n Date: Mon Jun 6 13:21:52 2022 -0400\n\n Revert \"erofs: fix misbehavior of unsupported chunk format check\"\n\n This reverts commit 751e7c533e451b3c6a51f7d2a69224cca39e8c20.\n\n commit 37b05816e45d519643dd9d162b827311abf3b034\n Author: John Galt \n Date: Mon Jun 6 13:21:44 2022 -0400\n\n Revert \"erofs: get compression algorithms directly on mapping\"\n\n This reverts commit 98b09cde747826f6fe3aae50eb05659f7f2803f7.\n\n commit de74ca4af181a35ac037a44f07cf6a7e55e0f127\n Author: John Galt \n Date: Mon Jun 6 13:21:35 2022 -0400\n\n Revert \"erofs: introduce the secondary compression head\"\n\n This reverts commit feea4ee667bf5d5fa2c6d0c5f57697476dce7ca7.\n\n commit dda6e8eaddd3203cfafd6c82d2e751f2e6d16766\n Author: John Galt \n Date: Mon Jun 6 13:21:29 2022 -0400\n\n Revert \"erofs: clean up z_erofs_extent_lookback\"\n\n This reverts commit c08dbda40a4f3016ee6c60ae2a19e3ecc518361c.\n\n commit 2e5fd527a76eba733464b0ba71fe92abc839b62b\n Author: John Galt \n Date: Mon Jun 6 13:21:23 2022 -0400\n\n Revert \"erofs: clean up erofs_map_blocks tracepoints\"\n\n This reverts commit d71eb1da8e8b59a7072c51ce48175e159ecfd79a.\n\ncommit ed6e7f36515d6d80c75c4d0803b636e17f328a6c\nAuthor: Gao Xiang \nDate: Thu Dec 9 09:29:18 2021 +0800\n\n erofs: clean up erofs_map_blocks tracepoints\n\n Since the new type of chunk-based files is introduced, there is no\n need to leave flatmode tracepoints.\n\n Rename to erofs_map_blocks instead.\n\n Link: https://lore.kernel.org/r/20211209012918.30337-1-hsiangkao@linux.alibaba.com\n Reviewed-by: Yue Hu \n Signed-off-by: Gao Xiang \n\ncommit 525147ad9beef7e521c1667509db763e970c06d3\nAuthor: Gao Xiang \nDate: Fri Mar 11 02:27:42 2022 +0800\n\n erofs: clean up z_erofs_extent_lookback\n\n Avoid the unnecessary tail recursion since it can be converted into\n a loop directly in order to prevent potential stack overflow.\n\n It's a pretty straightforward conversion.\n\n Link: https://lore.kernel.org/r/20220310182743.102365-1-hsiangkao@linux.alibaba.com\n Reviewed-by: Yue Hu \n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit db45bcfb35a2cd8d49e159c0cc70635b713183a4\nAuthor: Gao Xiang \nDate: Mon Oct 18 00:57:21 2021 +0800\n\n erofs: introduce the secondary compression head\n\n Previously, for each HEAD lcluster, it can be either HEAD or PLAIN\n lcluster to indicate whether the whole pcluster is compressed or not.\n\n In this patch, a new HEAD2 head type is introduced to specify another\n compression algorithm other than the primary algorithm for each\n compressed file, which can be used for upcoming LZMA compression and\n LZ4 range dictionary compression for various data patterns.\n\n It has been stayed in the EROFS roadmap for years. Complete it now!\n\n Link: https://lore.kernel.org/r/20211017165721.2442-1-xiang@kernel.org\n Reviewed-by: Yue Hu \n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit f0fe9e97d03ed484a51f764373ad0c5941949869\nAuthor: Gao Xiang \nDate: Sat Oct 9 04:08:37 2021 +0800\n\n erofs: get compression algorithms directly on mapping\n\n Currently, z_erofs_map_blocks_iter() returns whether extents are\n compressed or not, and the decompression frontend gets the specific\n algorithms then.\n\n It works but not quite well in many aspests, for example:\n - The decompression frontend has to deal with whether extents are\n compressed or not again and lookup the algorithms if compressed.\n It's duplicated and too detailed about the on-disk mapping.\n\n - A new secondary compression head will be introduced later so that\n each file can have 2 compression algorithms at most for different\n type of data. It could increase the complexity of the decompression\n frontend if still handled in this way;\n\n - A new readmore decompression strategy will be introduced to get\n better performance for much bigger pcluster and lzma, which needs\n the specific algorithm in advance as well.\n\n Let's look up compression algorithms in z_erofs_map_blocks_iter()\n directly instead.\n\n Link: https://lore.kernel.org/r/20211008200839.24541-2-xiang@kernel.org\n Reviewed-by: Chao Yu \n Reviewed-by: Yue Hu \n Signed-off-by: Gao Xiang \n\ncommit 588fc2156404c552d4c2c7bcc5def820966a1ba1\nAuthor: Gao Xiang \nDate: Wed Sep 22 17:51:41 2021 +0800\n\n erofs: fix misbehavior of unsupported chunk format check\n\n Unsupported chunk format should be checked with\n \"if (vi->chunkformat & ~EROFS_CHUNK_FORMAT_ALL)\"\n\n Found when checking with 4k-byte blockmap (although currently mkfs\n uses inode chunk indexes format by default.)\n\n Link: https://lore.kernel.org/r/20210922095141.233938-1-hsiangkao@linux.alibaba.com\n Fixes: c5aa903a59db (\"erofs: support reading chunk-based uncompressed files\")\n Reviewed-by: Liu Bo \n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 613122535bafaabb0e58a9c347c5b6f1b8e6fa91\nAuthor: Gao Xiang \nDate: Wed Aug 25 20:07:57 2021 +0800\n\n erofs: fix double free of 'copied'\n\n Dan reported a new smatch warning [1]\n \"fs/erofs/inode.c:210 erofs_read_inode() error: double free of 'copied'\"\n\n Due to new chunk-based format handling logic, the error path can be\n called after kfree(copied).\n\n Set \"copied = NULL\" after kfree(copied) to fix this.\n\n [1] https://lore.kernel.org/r/202108251030.bELQozR7-lkp@intel.com\n\n Link: https://lore.kernel.org/r/20210825120757.11034-1-hsiangkao@linux.alibaba.com\n Fixes: c5aa903a59db (\"erofs: support reading chunk-based uncompressed files\")\n Reported-by: kernel test robot \n Reported-by: Dan Carpenter \n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 7b648f684ea7c99deab7278f0c2cbbf74797a56d\nAuthor: Gao Xiang \nDate: Fri Aug 20 18:00:19 2021 +0800\n\n erofs: support reading chunk-based uncompressed files\n\n Add runtime support for chunk-based uncompressed files\n described in the previous patch.\n\n Link: https://lore.kernel.org/r/20210820100019.208490-2-hsiangkao@linux.alibaba.com\n Reviewed-by: Liu Bo \n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit d9737546275a3c460177a3ce9e01096bc3cfc3ad\nAuthor: Gao Xiang \nDate: Fri Aug 20 18:00:18 2021 +0800\n\n erofs: introduce chunk-based file on-disk format\n\n Currently, uncompressed data except for tail-packing inline is\n consecutive on disk.\n\n In order to support chunk-based data deduplication, add a new\n corresponding inode data layout.\n\n In the future, the data source of chunks can be either (un)compressed.\n\n Link: https://lore.kernel.org/r/20210820100019.208490-1-hsiangkao@linux.alibaba.com\n Reviewed-by: Liu Bo \n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 47f6bed39a7a83aa59be667657cba886dbd4b79b\nAuthor: Gao Xiang \nDate: Fri Aug 13 13:29:31 2021 +0800\n\n erofs: add fiemap support with iomap\n\n This adds fiemap support for both uncompressed files and compressed\n files by using iomap infrastructure.\n\n Link: https://lore.kernel.org/r/20210813052931.203280-3-hsiangkao@linux.alibaba.com\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 82cc95ee585c9b033a43b0564173d4c444e3a4ac\nAuthor: Gao Xiang \nDate: Wed Aug 18 23:22:31 2021 +0800\n\n erofs: add support for the full decompressed length\n\n Previously, there is no need to get the full decompressed length since\n EROFS supports partial decompression. However for some other cases\n such as fiemap, the full decompressed length is necessary for iomap to\n make it work properly.\n\n This patch adds a way to get the full decompressed length. Note that\n it takes more metadata overhead and it'd be avoided if possible in the\n performance sensitive scenario.\n\n Link: https://lore.kernel.org/r/20210818152231.243691-1-hsiangkao@linux.alibaba.com\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 8ff30ee6aaa1130bc26af4a98a818d91820c0bdb\nAuthor: John Galt \nDate: Thu May 12 12:08:04 2022 -0400\n\n erofs: adapt 3f4e33b91a28 to our tree\n\ncommit 71e2f8865698e382349a16d8f90e5d74f935ff2a\nAuthor: Huang Jianan \nDate: Thu Aug 5 08:35:59 2021 +0800\n\n erofs: iomap support for non-tailpacking DIO\n\n Add iomap support for non-tailpacking uncompressed data in order to\n support DIO and DAX.\n\n Direct I/O is useful in certain scenarios for uncompressed files.\n For example, double pagecache can be avoid by direct I/O when\n loop device is used for uncompressed files containing upper layer\n compressed filesystem.\n\n This adds iomap DIO support for non-tailpacking cases first and\n tail-packing inline files are handled in the follow-up patch.\n\n Link: https://lore.kernel.org/r/20210805003601.183063-2-hsiangkao@linux.alibaba.com\n Cc: linux-fsdevel@vger.kernel.org\n Reviewed-by: Chao Yu \n Signed-off-by: Huang Jianan \n Signed-off-by: Gao Xiang \n\ncommit 8bc571a229c3701405ac47f689db283ac99f2b2d\nAuthor: Goldwyn Rodrigues \nDate: Fri Aug 30 12:09:24 2019 -0500\n\n fs: export generic_file_buffered_read()\n\n Export generic_file_buffered_read() to be used to supplement incomplete\n direct reads.\n\n Reviewed-by: Johannes Thumshirn \n Reviewed-by: Christoph Hellwig \n Signed-off-by: Goldwyn Rodrigues \n Reviewed-by: David Sterba \n Signed-off-by: David Sterba \n\ncommit 34c8cbbc7b932ac50e90da6e838524fd1f162aca\nAuthor: Dan Williams \nDate: Wed Mar 7 15:26:44 2018 -0800\n\n fs, dax: prepare for dax-specific address_space_operations\n\n In preparation for the dax implementation to start associating dax pages\n to inodes via page->mapping, we need to provide a 'struct\n address_space_operations' instance for dax. Define some generic VFS aops\n helpers for dax. These noop implementations are there in the dax case to\n prevent the VFS from falling back to operations with page-cache\n assumptions, dax_writeback_mapping_range() may not be referenced in the\n FS_DAX=n case.\n\n Cc: Jeff Moyer \n Cc: Ross Zwisler \n Suggested-by: Matthew Wilcox \n Suggested-by: Jan Kara \n Suggested-by: Christoph Hellwig \n Reviewed-by: Christoph Hellwig \n Reviewed-by: Jan Kara \n Suggested-by: Dave Chinner \n Signed-off-by: Dan Williams \n\ncommit b0da008763834f165e8a055e011f223b3981316d\nAuthor: Andreas Gruenbacher \nDate: Sun Oct 1 17:55:54 2017 -0400\n\n iomap: Switch from blkno to disk offset\n\n Replace iomap->blkno, the sector number, with iomap->addr, the disk\n offset in bytes. For invalid disk offsets, use the special value\n IOMAP_NULL_ADDR instead of IOMAP_NULL_BLOCK.\n\n This allows to use iomap for mappings which are not block aligned, such\n as inline data on ext4.\n\n Signed-off-by: Andreas Gruenbacher \n Signed-off-by: Theodore Ts'o \n Reviewed-by: Darrick J. Wong # iomap, xfs\n Reviewed-by: Jan Kara \n\ncommit b74997cce993dd0408a0beeb36bd28652e272108\nAuthor: Matthew Wilcox \nDate: Tue Nov 28 15:39:51 2017 -0500\n\n idr: Rename idr_for_each_entry_ext\n\n Most places in the kernel that we need to distinguish functions by the\n type of their arguments, we use '_ul' as a suffix for the unsigned long\n variant, not '_ext'. Also add kernel-doc.\n\n Signed-off-by: Matthew Wilcox \n\ncommit a562faeba73cfb13de1f278c95be606faa3e4f21\nAuthor: Matthew Wilcox \nDate: Tue Nov 28 10:14:27 2017 -0500\n\n idr: Add idr_alloc_u32 helper\n\n All current users of idr_alloc_ext() actually want to allocate a u32\n and idr_alloc_u32() fits their needs better.\n\n Like idr_get_next(), it uses a 'nextid' argument which serves as both\n a pointer to the start ID and the assigned ID (instead of a separate\n minimum and pointer-to-assigned-ID argument). It uses a 'max' argument\n rather than 'end' because the semantics that idr_alloc has for 'end'\n don't work well for unsigned types.\n\n Since idr_alloc_u32() returns an errno instead of the allocated ID, mark\n it as __must_check to help callers use it correctly. Include copious\n kernel-doc. Chris Mi has promised to contribute\n test-cases for idr_alloc_u32.\n\n Signed-off-by: Matthew Wilcox \n\ncommit 4b24e4564260899c64b9532440a9b5545dbfe7f9\nAuthor: Matthew Wilcox \nDate: Tue Apr 10 16:36:48 2018 -0700\n\n fscache: use appropriate radix tree accessors\n\n Don't open-code accesses to data structure internals.\n\n Link: http://lkml.kernel.org/r/20180313132639.17387-7-willy@infradead.org\n Signed-off-by: Matthew Wilcox \n Reviewed-by: Jeff Layton \n Cc: Darrick J. Wong \n Cc: Dave Chinner \n Cc: Ryusuke Konishi \n Cc: Will Deacon \n Signed-off-by: Andrew Morton \n Signed-off-by: Linus Torvalds \n\ncommit 7469480be01c3394807cbd0991f06b8d6f2d4403\nAuthor: Matthew Wilcox \nDate: Tue Apr 10 16:36:44 2018 -0700\n\n export __set_page_dirty\n\n XFS currently contains a copy-and-paste of __set_page_dirty(). Export\n it from buffer.c instead.\n\n Link: http://lkml.kernel.org/r/20180313132639.17387-6-willy@infradead.org\n Signed-off-by: Matthew Wilcox \n Acked-by: Jeff Layton \n Reviewed-by: Darrick J. Wong \n Cc: Ryusuke Konishi \n Cc: Dave Chinner \n Cc: Will Deacon \n Signed-off-by: Andrew Morton \n Signed-off-by: Linus Torvalds \n\ncommit c53045287025992bc775081dbab63ac926a597e8\nAuthor: Matthew Wilcox \nDate: Tue Apr 10 16:36:28 2018 -0700\n\n radix tree: use GFP_ZONEMASK bits of gfp_t for flags\n\n Patch series \"XArray\", v9. (First part thereof).\n\n This patchset is, I believe, appropriate for merging for 4.17. It\n contains the XArray implementation, to eventually replace the radix\n tree, and converts the page cache to use it.\n\n This conversion keeps the radix tree and XArray data structures in sync\n at all times. That allows us to convert the page cache one function at\n a time and should allow for easier bisection. Other than renaming some\n elements of the structures, the data structures are fundamentally\n unchanged; a radix tree walk and an XArray walk will touch the same\n number of cachelines. I have changes planned to the XArray data\n structure, but those will happen in future patches.\n\n Improvements the XArray has over the radix tree:\n\n - The radix tree provides operations like other trees do; 'insert' and\n 'delete'. But what most users really want is an automatically\n resizing array, and so it makes more sense to give users an API that\n is like an array -- 'load' and 'store'. We still have an 'insert'\n operation for users that really want that semantic.\n\n - The XArray considers locking as part of its API. This simplifies a\n lot of users who formerly had to manage their own locking just for\n the radix tree. It also improves code generation as we can now tell\n RCU that we're holding a lock and it doesn't need to generate as much\n fencing code. The other advantage is that tree nodes can be moved\n (not yet implemented).\n\n - GFP flags are now parameters to calls which may need to allocate\n memory. The radix tree forced users to decide what the allocation\n flags would be at creation time. It's much clearer to specify them at\n allocation time.\n\n - Memory is not preloaded; we don't tie up dozens of pages on the off\n chance that the slab allocator fails. Instead, we drop the lock,\n allocate a new node and retry the operation. We have to convert all\n the radix tree, IDA and IDR preload users before we can realise this\n benefit, but I have not yet found a user which cannot be converted.\n\n - The XArray provides a cmpxchg operation. The radix tree forces users\n to roll their own (and at least four have).\n\n - Iterators take a 'max' parameter. That simplifies many users and will\n reduce the amount of iteration done.\n\n - Iteration can proceed backwards. We only have one user for this, but\n since it's called as part of the pagefault readahead algorithm, that\n seemed worth mentioning.\n\n - RCU-protected pointers are not exposed as part of the API. There are\n some fun bugs where the page cache forgets to use rcu_dereference()\n in the current codebase.\n\n - Value entries gain an extra bit compared to radix tree exceptional\n entries. That gives us the extra bit we need to put huge page swap\n entries in the page cache.\n\n - Some iterators now take a 'filter' argument instead of having\n separate iterators for tagged/untagged iterations.\n\n The page cache is improved by this:\n\n - Shorter, easier to read code\n\n - More efficient iterations\n\n - Reduction in size of struct address_space\n\n - Fewer walks from the top of the data structure; the XArray API\n encourages staying at the leaf node and conducting operations there.\n\n This patch (of 8):\n\n None of these bits may be used for slab allocations, so we can use them\n as radix tree flags as long as we mask them off before passing them to\n the slab allocator. Move the IDR flag from the high bits to the\n GFP_ZONEMASK bits.\n\n Link: http://lkml.kernel.org/r/20180313132639.17387-3-willy@infradead.org\n Signed-off-by: Matthew Wilcox \n Acked-by: Jeff Layton \n Cc: Darrick J. Wong \n Cc: Dave Chinner \n Cc: Ryusuke Konishi \n Cc: Will Deacon \n Signed-off-by: Andrew Morton \n Signed-off-by: Linus Torvalds \n\ncommit c95250f9f545568b87775f1a2a48d412203161f7\nAuthor: John Galt \nDate: Mon May 16 10:45:14 2022 -0400\n\n Revert \"erofs: compression fixes\"\n\n This reverts commit 208dabff2d5e3e616a86df8bdba814d54b1a8a1f.\n\n Fixes a deadlock when fix shrinking erofs slab.\n\ncommit d07627505cd871bb1a539377434dede2f4a18d9c\nAuthor: John Galt \nDate: Mon May 16 09:41:14 2022 -0400\n\n Revert \"erofs: fixes for compilation\"\n\n This reverts commit c7bf11979051cda0e7b37857289503fa4831c549.\n\ncommit 7846d0f267ba3572570917e4880d60c79939bf5c\nAuthor: Hongyu Jin \nDate: Fri Apr 1 19:55:27 2022 +0800\n\n erofs: fix use-after-free of on-stack io[]\n\n The root cause is the race as follows:\n Thread #1 Thread #2(irq ctx)\n\n z_erofs_runqueue()\n struct z_erofs_decompressqueue io_A[];\n submit bio A\n z_erofs_decompress_kickoff(,,1)\n z_erofs_decompressqueue_endio(bio A)\n z_erofs_decompress_kickoff(,,-1)\n spin_lock_irqsave()\n atomic_add_return()\n io_wait_event()\t-> pending_bios is already 0\n [end of function]\n wake_up_locked(io_A[]) // crash\n\n Referenced backtrace in kernel 5.4:\n\n [ 10.129422] Unable to handle kernel paging request at virtual address eb0454a4\n [ 10.364157] CPU: 0 PID: 709 Comm: getprop Tainted: G WC O 5.4.147-ab09225 #1\n [ 11.556325] [] (__wake_up_common) from [] (__wake_up_locked+0x40/0x48)\n [ 11.565487] [] (__wake_up_locked) from [] (z_erofs_vle_unzip_kickoff+0x6c/0xc0)\n [ 11.575438] [] (z_erofs_vle_unzip_kickoff) from [] (z_erofs_vle_read_endio+0x16c/0x17c)\n [ 11.586082] [] (z_erofs_vle_read_endio) from [] (clone_endio+0xb4/0x1d0)\n [ 11.595428] [] (clone_endio) from [] (blk_update_request+0x150/0x4dc)\n [ 11.604516] [] (blk_update_request) from [] (mmc_blk_cqe_complete_rq+0x144/0x15c)\n [ 11.614640] [] (mmc_blk_cqe_complete_rq) from [] (blk_done_softirq+0xb0/0xcc)\n [ 11.624419] [] (blk_done_softirq) from [] (__do_softirq+0x184/0x56c)\n [ 11.633419] [] (__do_softirq) from [] (irq_exit+0xd4/0x138)\n [ 11.641640] [] (irq_exit) from [] (__handle_domain_irq+0x94/0xd0)\n [ 11.650381] [] (__handle_domain_irq) from [] (gic_handle_irq+0x50/0xd4)\n [ 11.659641] [] (gic_handle_irq) from [] (__irq_svc+0x70/0xb0)\n\n Signed-off-by: Hongyu Jin \n Reviewed-by: Gao Xiang \n Reviewed-by: Chao Yu \n Link: https://lore.kernel.org/r/20220401115527.4935-1-hongyu.jin.cn@gmail.com\n Signed-off-by: Gao Xiang \n\ncommit 9fa705504bf016a360c10edc3c9c5cbf8d870a78\nAuthor: John Galt \nDate: Thu May 5 22:40:43 2022 -0400\n\n erofs: extend 3812dc21ec\n\ncommit 4cda8c8c3d0ea4b3cb0f660db01697b50f7bfddc\nAuthor: Yue Hu \nDate: Thu Oct 14 14:57:44 2021 +0800\n\n erofs: remove the fast path of per-CPU buffer decompression\n\n As Xiang mentioned, such path has no real impact to our current\n decompression strategy, remove it directly. Also, update the return\n value of z_erofs_lz4_decompress() to 0 if success to keep consistent\n with LZMA which will return 0 as well for that case.\n\n Link: https://lore.kernel.org/r/20211014065744.1787-1-zbestahu@gmail.com\n Reviewed-by: Gao Xiang \n Signed-off-by: Yue Hu \n Signed-off-by: Gao Xiang \n\ncommit 20122adf7721eff6c6ff90db545e0597501d942f\nAuthor: Yue Hu \nDate: Tue Sep 14 11:59:15 2021 +0800\n\n erofs: clear compacted_2b if compacted_4b_initial > totalidx\n\n Currently, the whole indexes will only be compacted 4B if\n compacted_4b_initial > totalidx. So, the calculated compacted_2b\n is worthless for that case. It may waste CPU resources.\n\n No need to update compacted_4b_initial as mkfs since it's used to\n fulfill the alignment of the 1st compacted_2b pack and would handle\n the case above.\n\n We also need to clarify compacted_4b_end here. It's used for the\n last lclusters which aren't fitted in the previous compacted_2b\n packs.\n\n Some messages are from Xiang.\n\n Link: https://lore.kernel.org/r/20210914035915.1190-1-zbestahu@gmail.com\n Signed-off-by: Yue Hu \n Reviewed-by: Gao Xiang \n Reviewed-by: Chao Yu \n [ Gao Xiang: it's enough to use \"compacted_4b_initial < totalidx\". ]\n Signed-off-by: Gao Xiang \n\ncommit 3243783e85d10ccc00b9e8cb37960ed1fc1e9fef\nAuthor: Yue Hu \nDate: Tue Aug 10 15:24:16 2021 +0800\n\n erofs: remove the mapping parameter from erofs_try_to_free_cached_page()\n\n The mapping is not used at all, remove it and update related code.\n\n Link: https://lore.kernel.org/r/20210810072416.1392-1-zbestahu@gmail.com\n Reviewed-by: Gao Xiang \n Reviewed-by: Chao Yu \n Signed-off-by: Yue Hu \n Signed-off-by: Gao Xiang \n\ncommit 2936d3798b6c340459813a0eeb2409a4cb34e44f\nAuthor: Yue Hu \nDate: Tue Aug 10 14:54:50 2021 +0800\n\n erofs: directly use wrapper erofs_page_is_managed() when shrinking\n\n We already have the wrapper function to identify managed page.\n\n Link: https://lore.kernel.org/r/20210810065450.1320-1-zbestahu@gmail.com\n Reviewed-by: Gao Xiang \n Reviewed-by: Chao Yu \n Signed-off-by: Yue Hu \n Signed-off-by: Gao Xiang \n\ncommit 09b3effb67cdec2ce718d83a363c0a2df5f3d372\nAuthor: Yue Hu \nDate: Mon Apr 19 18:26:23 2021 +0800\n\n erofs: remove the occupied parameter from z_erofs_pagevec_enqueue()\n\n No any behavior to variable occupied in z_erofs_attach_page() which\n is only caller to z_erofs_pagevec_enqueue().\n\n Link: https://lore.kernel.org/r/20210419102623.2015-1-zbestahu@gmail.com\n Signed-off-by: Yue Hu \n Reviewed-by: Gao Xiang \n Signed-off-by: Gao Xiang \n\ncommit b5b28aefcf024c86c3f930293ba36482f96faf34\nAuthor: Gao Xiang \nDate: Mon May 10 14:47:15 2021 +0800\n\n erofs: fix 1 lcluster-sized pcluster for big pcluster\n\n If the 1st NONHEAD lcluster of a pcluster isn't CBLKCNT lcluster type\n rather than a HEAD or PLAIN type instead, which means its pclustersize\n _must_ be 1 lcluster (since its uncompressed size < 2 lclusters),\n as illustrated below:\n\n HEAD HEAD / PLAIN lcluster type\n ____________ ____________\n |_:__________|_________:__| file data (uncompressed)\n . .\n .____________.\n |____________| pcluster data (compressed)\n\n Such on-disk case was explained before [1] but missed to be handled\n properly in the runtime implementation.\n\n It can be observed if manually generating 1 lcluster-sized pcluster\n with 2 lclusters (thus CBLKCNT doesn't exist.) Let's fix it now.\n\n [1] https://lore.kernel.org/r/20210407043927.10623-1-xiang@kernel.org\n\n Link: https://lore.kernel.org/r/20210510064715.29123-1-xiang@kernel.org\n Fixes: cec6e93beadf (\"erofs: support parsing big pcluster compress indexes\")\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 2cfa0bcf32db1431e18d636e0ff5c592768b9620\nAuthor: Gao Xiang \nDate: Wed Apr 7 12:39:27 2021 +0800\n\n erofs: enable big pcluster feature\n\n Enable COMPR_CFGS and BIG_PCLUSTER since the implementations are\n all settled properly.\n\n Link: https://lore.kernel.org/r/20210407043927.10623-11-xiang@kernel.org\n Acked-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit d75144d8d0395bca0a1a629a3b9ab6a95112a083\nAuthor: Gao Xiang \nDate: Wed Apr 7 12:39:26 2021 +0800\n\n erofs: support decompress big pcluster for lz4 backend\n\n Prior to big pcluster, there was only one compressed page so it'd\n easy to map this. However, when big pcluster is enabled, more work\n needs to be done to handle multiple compressed pages. In detail,\n\n - (maptype 0) if there is only one compressed page + no need\n to copy inplace I/O, just map it directly what we did before;\n\n - (maptype 1) if there are more compressed pages + no need to\n copy inplace I/O, vmap such compressed pages instead;\n\n - (maptype 2) if inplace I/O needs to be copied, use per-CPU\n buffers for decompression then.\n\n Another thing is how to detect inplace decompression is feasable or\n not (it's still quite easy for non big pclusters), apart from the\n inplace margin calculation, inplace I/O page reusing order is also\n needed to be considered for each compressed page. Currently, if the\n compressed page is the xth page, it shouldn't be reused as [0 ...\n nrpages_out - nrpages_in + x], otherwise a full copy will be triggered.\n\n Although there are some extra optimization ideas for this, I'd like\n to make big pcluster work correctly first and obviously it can be\n further optimized later since it has nothing with the on-disk format\n at all.\n\n Link: https://lore.kernel.org/r/20210407043927.10623-10-xiang@kernel.org\n Acked-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit f344f71c42af2866c748ae22e1b133a02594b367\nAuthor: Gao Xiang \nDate: Wed Apr 7 12:39:25 2021 +0800\n\n erofs: support parsing big pcluster compact indexes\n\n Different from non-compact indexes, several lclusters are packed\n as the compact form at once and an unique base blkaddr is stored for\n each pack, so each lcluster index would take less space on avarage\n (e.g. 2 bytes for COMPACT_2B.) btw, that is also why BIG_PCLUSTER\n switch should be consistent for compact head0/1.\n\n Prior to big pcluster, the size of all pclusters was 1 lcluster.\n Therefore, when a new HEAD lcluster was scanned, blkaddr would be\n bumped by 1 lcluster. However, that way doesn't work anymore for\n big pcluster since we actually don't know the compressed size of\n pclusters in advance (before reading CBLKCNT lcluster).\n\n So, instead, let blkaddr of each pack be the first pcluster blkaddr\n with a valid CBLKCNT, in detail,\n\n 1) if CBLKCNT starts at the pack, this first valid pcluster is\n itself, e.g.\n _____________________________________________________________\n |_CBLKCNT0_|_NONHEAD_| .. |_HEAD_|_CBLKCNT1_| ... |_HEAD_| ...\n ^ = blkaddr base ^ += CBLKCNT0 ^ += CBLKCNT1\n\n 2) if CBLKCNT doesn't start at the pack, the first valid pcluster\n is the next pcluster, e.g.\n _________________________________________________________\n | NONHEAD_| .. |_HEAD_|_CBLKCNT0_| ... |_HEAD_|_HEAD_| ...\n ^ = blkaddr base ^ += CBLKCNT0\n ^ += 1\n\n When a CBLKCNT is found, blkaddr will be increased by CBLKCNT\n lclusters, or a new HEAD is found immediately, bump blkaddr by 1\n instead (see the picture above.)\n\n Also noted if CBLKCNT is the end of the pack, instead of storing\n delta1 (distance of the next HEAD lcluster) as normal NONHEADs,\n it still uses the compressed block count (delta0) since delta1\n can be calculated indirectly but the block count can't.\n\n Adjust decoding logic to fit big pcluster compact indexes as well.\n\n Link: https://lore.kernel.org/r/20210407043927.10623-9-xiang@kernel.org\n Acked-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 7af2a5cf065073d6f43298b2c96676f9315709d5\nAuthor: Gao Xiang \nDate: Wed Apr 7 12:39:24 2021 +0800\n\n erofs: support parsing big pcluster compress indexes\n\n When INCOMPAT_BIG_PCLUSTER sb feature is enabled, legacy compress indexes\n will also have the same on-disk header compact indexes to keep per-file\n configurations instead of leaving it zeroed.\n\n If ADVISE_BIG_PCLUSTER is set for a file, CBLKCNT will be loaded for each\n pcluster in this file by parsing 1st non-head lcluster.\n\n Link: https://lore.kernel.org/r/20210407043927.10623-8-xiang@kernel.org\n Acked-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 81a0c5100c6b09b91b7cfdad429fc66d65335be2\nAuthor: Gao Xiang \nDate: Wed Apr 7 12:39:23 2021 +0800\n\n erofs: adjust per-CPU buffers according to max_pclusterblks\n\n Adjust per-CPU buffers on demand since big pcluster definition is\n available. Also, bail out unsupported pcluster size according to\n Z_EROFS_PCLUSTER_MAX_SIZE.\n\n Link: https://lore.kernel.org/r/20210407043927.10623-7-xiang@kernel.org\n Acked-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 56612c78a9aeefc38d6b9bd7a6fef06eebe0c4b6\nAuthor: Gao Xiang \nDate: Wed Apr 7 12:39:22 2021 +0800\n\n erofs: add big physical cluster definition\n\n Big pcluster indicates the size of compressed data for each physical\n pcluster is no longer fixed as block size, but could be more than 1\n block (more accurately, 1 logical pcluster)\n\n When big pcluster feature is enabled for head0/1, delta0 of the 1st\n non-head lcluster index will keep block count of this pcluster in\n lcluster size instead of 1. Or, the compressed size of pcluster\n should be 1 lcluster if pcluster has no non-head lcluster index.\n\n Also note that BIG_PCLUSTER feature reuses COMPR_CFGS feature since\n it depends on COMPR_CFGS and will be released together.\n\n Link: https://lore.kernel.org/r/20210407043927.10623-6-xiang@kernel.org\n Acked-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit a67309917444753f1cebfee2d2503cf68269e54a\nAuthor: Gao Xiang \nDate: Wed Apr 7 12:39:21 2021 +0800\n\n erofs: fix up inplace I/O pointer for big pcluster\n\n When picking up inplace I/O pages, it should be traversed in reverse\n order in aligned with the traversal order of file-backed online pages.\n Also, index should be updated together when preloading compressed pages.\n\n Previously, only page-sized pclustersize was supported so no problem\n at all. Also rename `compressedpages' to `icpage_ptr' to reflect its\n functionality.\n\n Link: https://lore.kernel.org/r/20210407043927.10623-5-xiang@kernel.org\n Acked-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 8fabf77d1a435d68b2bbb89c51f8351ef8efed26\nAuthor: Gao Xiang \nDate: Wed Apr 7 12:39:20 2021 +0800\n\n erofs: introduce physical cluster slab pools\n\n Since multiple pcluster sizes could be used at once, the number of\n compressed pages will become a variable factor. It's necessary to\n introduce slab pools rather than a single slab cache now.\n\n This limits the pclustersize to 1M (Z_EROFS_PCLUSTER_MAX_SIZE), and\n get rid of the obsolete EROFS_FS_CLUSTER_PAGE_LIMIT, which has no\n use now.\n\n Link: https://lore.kernel.org/r/20210407043927.10623-4-xiang@kernel.org\n Acked-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit c9b891a3fd81d315815f496f1282c95e98507812\nAuthor: Gao Xiang \nDate: Sat Apr 10 03:06:30 2021 +0800\n\n erofs: introduce multipage per-CPU buffers\n\n To deal the with the cases which inplace decompression is infeasible\n for some inplace I/O. Per-CPU buffers was introduced to get rid of page\n allocation latency and thrash for low-latency decompression algorithms\n such as lz4.\n\n For the big pcluster feature, introduce multipage per-CPU buffers to\n keep such inplace I/O pclusters temporarily as well but note that\n per-CPU pages are just consecutive virtually.\n\n When a new big pcluster fs is mounted, its max pclustersize will be\n read and per-CPU buffers can be growed if needed. Shrinking adjustable\n per-CPU buffers is more complex (because we don't know if such size\n is still be used), so currently just release them all when unloading.\n\n Link: https://lore.kernel.org/r/20210409190630.19569-1-xiang@kernel.org\n Acked-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 6751c7549b38cfe2044fc3d6e03c25c0067e700d\nAuthor: Gao Xiang \nDate: Wed Apr 7 12:39:18 2021 +0800\n\n erofs: reserve physical_clusterbits[]\n\n Formal big pcluster design is actually more powerful / flexable than\n the previous thought whose pclustersize was fixed as power-of-2 blocks,\n which was obviously inefficient and space-wasting. Instead, pclustersize\n can now be set independently for each pcluster, so various pcluster\n sizes can also be used together in one file if mkfs wants (for example,\n according to data type and/or compression ratio).\n\n Let's get rid of previous physical_clusterbits[] setting (also notice\n that corresponding on-disk fields are still 0 for now). Therefore,\n head1/2 can be used for at most 2 different algorithms in one file and\n again pclustersize is now independent of these.\n\n Link: https://lore.kernel.org/r/20210407043927.10623-2-xiang@kernel.org\n Acked-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 7c717bd2fb96a7ee82346bc88ddd28c5812c689d\nAuthor: Ruiqi Gong \nDate: Wed Mar 31 05:39:20 2021 -0400\n\n erofs: Clean up spelling mistakes found in fs/erofs\n\n zmap.c: s/correspoinding/corresponding\n zdata.c: s/endding/ending\n\n Link: https://lore.kernel.org/r/20210331093920.31923-1-gongruiqi1@huawei.com\n Reported-by: Hulk Robot \n Signed-off-by: Ruiqi Gong \n Reviewed-by: Gao Xiang \n Signed-off-by: Gao Xiang \n\ncommit 44f277dee13de691fe1fc483b55b4bc8ade3da36\nAuthor: Gao Xiang \nDate: Mon Mar 29 18:00:12 2021 +0800\n\n erofs: add on-disk compression configurations\n\n Add a bitmap for available compression algorithms and a variable-sized\n on-disk table for compression options in preparation for upcoming big\n pcluster and LZMA algorithm, which follows the end of super block.\n\n To parse the compression options, the bitmap is scanned one by one.\n For each available algorithm, there is data followed by 2-byte `length'\n correspondingly (it's enough for most cases, or entire fs blocks should\n be used.)\n\n With such available algorithm bitmap, kernel itself can also refuse to\n mount such filesystem if any unsupported compression algorithm exists.\n\n Note that COMPR_CFGS feature will be enabled with BIG_PCLUSTER.\n\n Link: https://lore.kernel.org/r/20210329100012.12980-1-hsiangkao@aol.com\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit e43a280cd5ca073e9d8cfa0471cdabf8f8500181\nAuthor: Gao Xiang \nDate: Mon Mar 29 09:23:07 2021 +0800\n\n erofs: introduce on-disk lz4 fs configurations\n\n Introduce z_erofs_lz4_cfgs to store all lz4 configurations.\n Currently it's only max_distance, but will be used for new\n features later.\n\n Link: https://lore.kernel.org/r/20210329012308.28743-4-hsiangkao@aol.com\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit d4108bf277b411bfdfa0eb12c2172b4035471d8b\nAuthor: Huang Jianan \nDate: Mon Mar 29 09:23:06 2021 +0800\n\n erofs: support adjust lz4 history window size\n\n lz4 uses LZ4_DISTANCE_MAX to record history preservation. When\n using rolling decompression, a block with a higher compression\n ratio will cause a larger memory allocation (up to 64k). It may\n cause a large resource burden in extreme cases on devices with\n small memory and a large number of concurrent IOs. So appropriately\n reducing this value can improve performance.\n\n Decreasing this value will reduce the compression ratio (except\n when input_size \n Signed-off-by: Huang Jianan \n Signed-off-by: Guo Weichao \n [ Gao Xiang: introduce struct erofs_sb_lz4_info for configurations. ]\n Signed-off-by: Gao Xiang \n\ncommit 89a30917b8f584f34216b053ff5e4b8e1fa1a81a\nAuthor: Gao Xiang \nDate: Mon Mar 29 09:23:05 2021 +0800\n\n erofs: introduce erofs_sb_has_xxx() helpers\n\n Introduce erofs_sb_has_xxx() to make long checks short, especially\n for later big pcluster & LZMA features.\n\n Link: https://lore.kernel.org/r/20210329012308.28743-2-hsiangkao@aol.com\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n\ncommit 83849318acff8125846f2447ed318f80db4dde38\nAuthor: Yue Hu \nDate: Thu Mar 25 15:10:08 2021 +0800\n\n erofs: don't use erofs_map_blocks() any more\n\n Currently, erofs_map_blocks() will be called only from\n erofs_{bmap, read_raw_page} which are all for uncompressed files.\n So, the compression branch in erofs_map_blocks() is pointless. Let's\n remove it and use erofs_map_blocks_flatmode() directly. Also update\n related comments.\n\n Link: https://lore.kernel.org/r/20210325071008.573-1-zbestahu@gmail.com\n Reviewed-by: Chao Yu \n Signed-off-by: Yue Hu \n Signed-off-by: Gao Xiang \n\ncommit dd3b7a71fb79a620a8df1138d74c990df27e04a5\nAuthor: Gao Xiang \nDate: Mon Mar 22 02:32:27 2021 +0800\n\n erofs: complete a missing case for inplace I/O\n\n Add a missing case which could cause unnecessary page allocation but\n not directly use inplace I/O instead, which increases runtime extra\n memory footprint.\n\n The detail is, considering an online file-backed page, the right half\n of the page is chosen to be cached (e.g. the end page of a readahead\n request) and some of its data doesn't exist in managed cache, so the\n pcluster will be definitely kept in the submission chain. (IOWs, it\n cannot be decompressed without I/O, e.g., due to the bypass queue).\n\n Currently, DELAYEDALLOC/TRYALLOC cases can be downgraded as NOINPLACE,\n and stop online pages from inplace I/O. After this patch, unneeded page\n allocations won't be observed in pickup_page_for_submission() then.\n\n Link: https://lore.kernel.org/r/20210321183227.5182-1-hsiangkao@aol.com\n Signed-off-by: Gao Xiang \n\ncommit 2195652f604a78eff0b808c94f7c31c0648d42e8\nAuthor: Huang Jianan \nDate: Wed Mar 17 11:54:47 2021 +0800\n\n erofs: use workqueue decompression for atomic contexts only\n\n z_erofs_decompressqueue_endio may not be executed in the atomic\n context, for example, when dm-verity is turned on. In this scenario,\n data can be decompressed directly to get rid of additional kworker\n scheduling overhead.\n\n Link: https://lore.kernel.org/r/20210317035448.13921-2-huangjianan@oppo.com\n Reviewed-by: Gao Xiang \n Reviewed-by: Chao Yu \n Signed-off-by: Huang Jianan \n Signed-off-by: Guo Weichao \n Signed-off-by: Gao Xiang \n\ncommit 50a12c462dbc5e3e4d14dc427392fc8e571b1b0b\nAuthor: Huang Jianan \nDate: Tue Mar 16 11:15:14 2021 +0800\n\n erofs: avoid memory allocation failure during rolling decompression\n\n Currently, err would be treated as io error. Therefore, it'd be\n better to ensure memory allocation during rolling decompression\n to avoid such io error.\n\n In the long term, we might consider adding another !Uptodate case\n for such case.\n\n Link: https://lore.kernel.org/r/20210316031515.90954-1-huangjianan@oppo.com\n Reviewed-by: Gao Xiang \n Reviewed-by: Chao Yu \n Signed-off-by: Huang Jianan \n Signed-off-by: Guo Weichao \n Signed-off-by: Gao Xiang \n\ncommit 5a664357076596a3af1100413bafb00a88dc5ef2\nAuthor: kondors1995 \nDate: Mon May 9 16:44:49 2022 +0000\n\n raphael_defconfig: Enable EROFS\n\ncommit 2409ea765730e7ca72fcc71dc3989eb37306ed81\nAuthor: Tom Levy \nDate: Tue Jul 16 16:30:24 2019 -0700\n\n include/linux/lz4.h: fix spelling and copy-paste errors in documentation\n\n Fix a few spelling and grammar errors, and two places where fast/safe in\n the documentation did not match the function.\n\n Link: http://lkml.kernel.org/r/20190321014452.13297-1-tomlevy93@gmail.com\n Signed-off-by: Tom Levy \n Reviewed-by: Andrew Morton \n Cc: Jiri Kosina \n Signed-off-by: Andrew Morton \n Signed-off-by: Linus Torvalds \n Signed-off-by: Panchajanya1999 \n\ncommit 416572f0ce1a90146cb73dd5ea3667899d0f8241\nAuthor: John Galt \nDate: Tue May 3 16:09:48 2022 -0400\n\n erofs: compression fixes\n\ncommit 8af69e641af0cd017664fbf2fbd9ce2509b2b8dc\nAuthor: Luan Cachoroski Halaiko \nDate: Tue Feb 8 20:20:47 2022 -0300\n\n erofs: fixes for compilation\n\n Signed-off-by: Luan Cachoroski Halaiko \n\ncommit ad81e37ce0d0af5bdb0115a7eccd673c03d293f0\nAuthor: Gao Xiang \nDate: Wed Dec 9 20:37:17 2020 +0800\n\n erofs: force inplace I/O under low memory scenario\n\n Try to forcely switch to inplace I/O under low memory scenario in\n order to avoid direct memory reclaim due to cached page allocation.\n\n Link: https://lore.kernel.org/r/20201209123717.12430-1-hsiangkao@aol.com\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n Change-Id: I8ea2d3b59c68125271f66853cf5dc6ca39e7aaa9\n\ncommit e4018facd91f25eb223b94416d1b64f641618577\nAuthor: Gao Xiang \nDate: Tue Dec 8 17:58:34 2020 +0800\n\n erofs: simplify try_to_claim_pcluster()\n\n simplify try_to_claim_pcluster() by directly using cmpxchg() here\n (the retry loop caused more overhead.) Also, move the chain loop\n detection in and rename it to z_erofs_try_to_claim_pcluster().\n\n Link: https://lore.kernel.org/r/20201208095834.3133565-3-hsiangkao@redhat.com\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n Change-Id: I8d091ff44123b099ef199eaa4200a00b8854623f\n\ncommit f28d114732f644b4a6445316095db1f0e818472f\nAuthor: Gao Xiang \nDate: Tue Dec 8 17:58:33 2020 +0800\n\n erofs: insert to managed cache after adding to pcl\n\n Previously, it could be some concern to call add_to_page_cache_lru()\n with page->mapping == Z_EROFS_MAPPING_STAGING (!= NULL).\n\n In contrast, page->private is used instead now, so partially revert\n commit 5ddcee1f3a1c (\"erofs: get rid of __stagingpage_alloc helper\")\n with some adaption for simplicity.\n\n Link: https://lore.kernel.org/r/20201208095834.3133565-2-hsiangkao@redhat.com\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n Change-Id: If250d62b47083649e96d0937eb1990b6c84d768f\n\ncommit 1a79fe1a476ae08ed0609618951fe863df0ac03a\nAuthor: Gao Xiang \nDate: Tue Dec 8 17:58:32 2020 +0800\n\n erofs: get rid of magical Z_EROFS_MAPPING_STAGING\n\n Previously, we played around with magical page->mapping for short-lived\n temporary pages since we need to identify different types of pages in\n the same pcluster but both invalidated and short-lived temporary pages\n can have page->mapping == NULL. It was considered as safe because that\n temporary pages are all non-LRU / non-movable pages.\n\n This patch tends to use specific page->private to identify short-lived\n pages instead so it won't rely on page->mapping anymore. Details are\n described in \"compress.h\" as well.\n\n Link: https://lore.kernel.org/r/20201208095834.3133565-1-hsiangkao@redhat.com\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n Change-Id: I2c8650e80cb6016ed828d04f89f8bd3512ca3fb2\n\ncommit a50789da7af81e73a8cb0081e788cea5543eff5c\nAuthor: Vladimir Zapolskiy \nDate: Fri Oct 30 14:28:39 2020 +0200\n\n erofs: remove a void EROFS_VERSION macro set in Makefile\n\n Since commit 4f761fa253b4 (\"erofs: rename errln/infoln/debugln to\n erofs_{err, info, dbg}\") the defined macro EROFS_VERSION has no affect,\n therefore removing it from the Makefile is a non-functional change.\n\n Link: https://lore.kernel.org/r/20201030122839.25431-1-vladimir@tuxera.com\n Reviewed-by: Gao Xiang \n Reviewed-by: Chao Yu \n Signed-off-by: Vladimir Zapolskiy \n Signed-off-by: Gao Xiang \n Change-Id: Id63ad279985db2a156d62be814bf381c9bea8342\n\ncommit d929ef94d4aab35ae96fb6d6efd1a0a23f7d1b48\nAuthor: Gao Xiang \nDate: Mon Aug 30 11:44:53 2021 +0800\n\n erofs: move from drivers/staging/ to fs/\n\n Since 5.4, erofs has been moved into fs/.\n\n Signed-off-by: Gao Xiang \n Change-Id: I95dd967a0097629a9d8eaed1dc11e2cd04f47701\n\ncommit 2758a8239cc772c63d5463073b44626ee4e7695a\nAuthor: Gao Xiang \nDate: Wed Aug 25 11:42:03 2021 +0800\n\n erofs: sync up with kernel 5.10\n\n Backport 5.10 LTS erofs to 4.19.\n\n Signed-off-by: Gao Xiang \n Change-Id: Ibf9c0c47e46090b72e75f09a347100f4ff64f28d\n\ncommit 1ee3b56216b0d92e2134d6134d2027c842f495b6\nAuthor: Gao Xiang \nDate: Mon Mar 29 08:36:14 2021 +0800\n\n erofs: add unsupported inode i_format check\n\n commit 24a806d849c0b0c1d0cd6a6b93ba4ae4c0ec9f08 upstream.\n\n If any unknown i_format fields are set (may be of some new incompat\n inode features), mark such inode as unsupported.\n\n Just in case of any new incompat i_format fields added in the future.\n\n Link: https://lore.kernel.org/r/20210329003614.6583-1-hsiangkao@aol.com\n Fixes: 431339ba9042 (\"staging: erofs: add inode operations\")\n Cc: # 4.19+\n Signed-off-by: Gao Xiang \n Signed-off-by: Greg Kroah-Hartman \n\ncommit 316472dda45a6a8142fc80800fa92f2846911008\nAuthor: Gao Xiang \nDate: Thu Jul 30 01:58:01 2020 +0800\n\n erofs: fix extended inode could cross boundary\n\n commit 0dcd3c94e02438f4a571690e26f4ee997524102a upstream.\n\n Each ondisk inode should be aligned with inode slot boundary\n (32-byte alignment) because of nid calculation formula, so all\n compact inodes (32 byte) cannot across page boundary. However,\n extended inode is now 64-byte form, which can across page boundary\n in principle if the location is specified on purpose, although\n it's hard to be generated by mkfs due to the allocation policy\n and rarely used by Android use case now mainly for > 4GiB files.\n\n For now, only two fields `i_ctime_nsec` and `i_nlink' couldn't\n be read from disk properly and cause out-of-bound memory read\n with random value.\n\n Let's fix now.\n\n Fixes: 431339ba9042 (\"staging: erofs: add inode operations\")\n Cc: # 4.19+\n Link: https://lore.kernel.org/r/20200729175801.GA23973@xiangao.remote.csb\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n [ Gao Xiang: resolve non-trivial conflicts for latest 4.19.y. ]\n Signed-off-by: Gao Xiang \n Signed-off-by: Greg Kroah-Hartman \n\ncommit ee000f1badb6ca558527d2e99e6130e56fe6acfb\nAuthor: Gao Xiang \nDate: Sun Nov 1 03:51:02 2020 +0800\n\n erofs: derive atime instead of leaving it empty\n\n commit d3938ee23e97bfcac2e0eb6b356875da73d700df upstream.\n\n EROFS has _only one_ ondisk timestamp (ctime is currently\n documented and recorded, we might also record mtime instead\n with a new compat feature if needed) for each extended inode\n since EROFS isn't mainly for archival purposes so no need to\n keep all timestamps on disk especially for Android scenarios\n due to security concerns. Also, romfs/cramfs don't have their\n own on-disk timestamp, and squashfs only records mtime instead.\n\n Let's also derive access time from ondisk timestamp rather than\n leaving it empty, and if mtime/atime for each file are really\n needed for specific scenarios as well, we can also use xattrs\n to record them then.\n\n Link: https://lore.kernel.org/r/20201031195102.21221-1-hsiangkao@aol.com\n [ Gao Xiang: It'd be better to backport for user-friendly concern. ]\n Fixes: 431339ba9042 (\"staging: erofs: add inode operations\")\n Cc: stable # 4.19+\n Reported-by: nl6720 \n Reviewed-by: Chao Yu \n [ Gao Xiang: Manually backport to 4.19.y due to trivial conflicts. ]\n Signed-off-by: Gao Xiang \n Signed-off-by: Greg Kroah-Hartman \n\ncommit 0601575a0ca46c49aaf765aaba9df8c1ce63cc9a\nAuthor: Gao Xiang \nDate: Fri Jun 19 07:43:49 2020 +0800\n\n erofs: fix partially uninitialized misuse in z_erofs_onlinepage_fixup\n\n commit 3c597282887fd55181578996dca52ce697d985a5 upstream.\n\n Hongyu reported \"id != index\" in z_erofs_onlinepage_fixup() with\n specific aarch64 environment easily, which wasn't shown before.\n\n After digging into that, I found that high 32 bits of page->private\n was set to 0xaaaaaaaa rather than 0 (due to z_erofs_onlinepage_init\n behavior with specific compiler options). Actually we only use low\n 32 bits to keep the page information since page->private is only 4\n bytes on most 32-bit platforms. However z_erofs_onlinepage_fixup()\n uses the upper 32 bits by mistake.\n\n Let's fix it now.\n\n Reported-and-tested-by: Hongyu Jin \n Fixes: 3883a79abd02 (\"staging: erofs: introduce VLE decompression support\")\n Cc: # 4.19+\n Reviewed-by: Chao Yu \n Link: https://lore.kernel.org/r/20200618234349.22553-1-hsiangkao@aol.com\n Signed-off-by: Gao Xiang \n Signed-off-by: Greg Kroah-Hartman \n\ncommit 02cee974cb788dd6b23837c04e347dbadccb7e67\nAuthor: Gao Xiang \nDate: Wed Feb 26 16:10:06 2020 +0800\n\n erofs: correct the remaining shrink objects\n\n commit 9d5a09c6f3b5fb85af20e3a34827b5d27d152b34 upstream.\n\n The remaining count should not include successful\n shrink attempts.\n\n Fixes: e7e9a307be9d (\"staging: erofs: introduce workstation for decompression\")\n Cc: # 4.19+\n Link: https://lore.kernel.org/r/20200226081008.86348-1-gaoxiang25@huawei.com\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n Signed-off-by: Greg Kroah-Hartman \n\ncommit afe022d9f5721497e63d11d3fdb06c95c6256c23\nAuthor: Gao Xiang \nDate: Sun Dec 1 16:01:09 2019 +0800\n\n erofs: zero out when listxattr is called with no xattr\n\n commit 926d1650176448d7684b991fbe1a5b1a8289e97c upstream.\n\n As David reported [1], ENODATA returns when attempting\n to modify files by using EROFS as an overlayfs lower layer.\n\n The root cause is that listxattr could return unexpected\n -ENODATA by mistake for inodes without xattr. That breaks\n listxattr return value convention and it can cause copy\n up failure when used with overlayfs.\n\n Resolve by zeroing out if no xattr is found for listxattr.\n\n [1] https://lore.kernel.org/r/CAEvUa7nxnby+rxK-KRMA46=exeOMApkDMAV08AjMkkPnTPV4CQ@mail.gmail.com\n Link: https://lore.kernel.org/r/20191201084040.29275-1-hsiangkao@aol.com\n Fixes: cadf1ccf1b00 (\"staging: erofs: add error handling for xattr submodule\")\n Cc: # 4.19+\n Reviewed-by: Chao Yu \n Signed-off-by: Gao Xiang \n Signed-off-by: Greg Kroah-Hartman \n\ncommit fceffbd856369cedfa23b313844d3906de8fd36e\nAuthor: Gao Xiang \nDate: Wed Oct 9 18:12:39 2019 +0800\n\n staging: erofs: detect potential multiref due to corrupted images\n\n commit e12a0ce2fa69798194f3a8628baf6edfbd5c548f upstream.\n\n As reported by erofs-utils fuzzer, currently, multiref\n (ondisk deduplication) hasn't been supported for now,\n we should forbid it properly.\n\n Fixes: 3883a79abd02 (\"staging: erofs: introduce VLE decompression support\")\n Cc: # 4.19+\n Signed-off-by: Gao Xiang \n Reviewed-by: Chao Yu \n Link: https://lore.kernel.org/r/20190821140152.229648-1-gaoxiang25@huawei.com\n [ Gao Xiang: Since earlier kernels don't define EFSCORRUPTED,\n let's use EIO instead. ]\n Signed-off-by: Gao Xiang \n Signed-off-by: Greg Kroah-Hartman \n\ncommit 9b3495631f1dba2feac41c880e564df6e242c8ab\nAuthor: Gao Xiang \nDate: Wed Oct 9 18:12:38 2019 +0800\n\n staging: erofs: add two mi…","shortMessageHtmlLink":"Import EROFS from https://github.com/pwnrazr/kernel_raphael_sm8150/tr…"}},{"before":"bb527592ebfb15e6af2738987c4a2b755a73edbc","after":"d7a8222998602ddd4cdea4581860221eeac51857","ref":"refs/heads/fourteen-wip","pushedAt":"2024-03-22T02:35:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"raphael_defconfig: Enable CONFIG_INITRAMFS_IGNORE_SKIP_FLAG","shortMessageHtmlLink":"raphael_defconfig: Enable CONFIG_INITRAMFS_IGNORE_SKIP_FLAG"}},{"before":"20723f5ff42a658a1b4aab3dda89c1c018b216b4","after":"bb527592ebfb15e6af2738987c4a2b755a73edbc","ref":"refs/heads/fourteen-wip","pushedAt":"2024-03-12T18:14:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"Update Makefile.host","shortMessageHtmlLink":"Update Makefile.host"}},{"before":"d38d17e95b77206f68f9149c5166f113d83d4432","after":"20723f5ff42a658a1b4aab3dda89c1c018b216b4","ref":"refs/heads/fourteen-wip","pushedAt":"2024-03-10T23:01:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"Update sm8150-perf_defconfig","shortMessageHtmlLink":"Update sm8150-perf_defconfig"}},{"before":"51e69fe941df3cbf226914afab13618860b19e35","after":"d38d17e95b77206f68f9149c5166f113d83d4432","ref":"refs/heads/fourteen-wip","pushedAt":"2024-03-10T22:46:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"Revert \"Revert \"makefile: Enforce lld usage\"\"\n\nThis reverts commit 6333c09b0c7b31884552c308b2d929583409bfb4.","shortMessageHtmlLink":"Revert \"Revert \"makefile: Enforce lld usage\"\""}},{"before":"e402c2a1ac4fab3e7753a951c7527d50e686366f","after":"51e69fe941df3cbf226914afab13618860b19e35","ref":"refs/heads/fourteen-wip","pushedAt":"2024-03-10T22:21:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"Update raphael_defconfig","shortMessageHtmlLink":"Update raphael_defconfig"}},{"before":"e758267c666d89fbfac59bb0d3bc06db99ef6db2","after":"e402c2a1ac4fab3e7753a951c7527d50e686366f","ref":"refs/heads/fourteen-wip","pushedAt":"2024-03-10T20:21:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"Update raphael_defconfig","shortMessageHtmlLink":"Update raphael_defconfig"}},{"before":"6333c09b0c7b31884552c308b2d929583409bfb4","after":"e758267c666d89fbfac59bb0d3bc06db99ef6db2","ref":"refs/heads/fourteen-wip","pushedAt":"2024-03-10T02:41:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"Update raphael_defconfig","shortMessageHtmlLink":"Update raphael_defconfig"}},{"before":"c0ad285ece84ce234bcf0a04b94707efc95ad78a","after":"6333c09b0c7b31884552c308b2d929583409bfb4","ref":"refs/heads/fourteen-wip","pushedAt":"2024-03-08T01:50:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"Revert \"makefile: Enforce lld usage\"\n\nThis reverts commit e4a23e51a9a7246c72524ec68fe62e9b760473f7.","shortMessageHtmlLink":"Revert \"makefile: Enforce lld usage\""}},{"before":null,"after":"c0ad285ece84ce234bcf0a04b94707efc95ad78a","ref":"refs/heads/fourteen-wip","pushedAt":"2024-03-08T00:08:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"techpack: audio: Setup for inline build\n\n* Built-in all modules & Disable -Werror.\n\nSigned-off-by: zclkkk ","shortMessageHtmlLink":"techpack: audio: Setup for inline build"}},{"before":"1257ea6c7f23c7f3865fc99450bebbfb3f572a54","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/drivers/staging/kernelsu/website/vite-4.4.9","pushedAt":"2023-11-26T00:51:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"}},{"before":"845456803627e47c6dae84214c0427ecdc3d7bb4","after":"c0ad285ece84ce234bcf0a04b94707efc95ad78a","ref":"refs/heads/thirteen","pushedAt":"2023-11-26T00:48:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"techpack: audio: Setup for inline build\n\n* Built-in all modules & Disable -Werror.\n\nSigned-off-by: zclkkk ","shortMessageHtmlLink":"techpack: audio: Setup for inline build"}},{"before":"28f1d1b35aebd4742ff56a1d1f9382ab63f4f52b","after":null,"ref":"refs/heads/dependabot/cargo/drivers/staging/kernelsu/userspace/ksud/rustix-0.36.16","pushedAt":"2023-11-26T00:10:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"}},{"before":"9c570a2c9f7cdc3187a626877d44152a8681f71e","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/drivers/staging/kernelsu/website/postcss-8.4.31","pushedAt":"2023-11-26T00:10:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"}},{"before":null,"after":"28f1d1b35aebd4742ff56a1d1f9382ab63f4f52b","ref":"refs/heads/dependabot/cargo/drivers/staging/kernelsu/userspace/ksud/rustix-0.36.16","pushedAt":"2023-10-18T18:48:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump rustix in /drivers/staging/kernelsu/userspace/ksud\n\nBumps [rustix](https://github.com/bytecodealliance/rustix) from 0.36.7 to 0.36.16.\n- [Release notes](https://github.com/bytecodealliance/rustix/releases)\n- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.36.7...v0.36.16)\n\n---\nupdated-dependencies:\n- dependency-name: rustix\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump rustix in /drivers/staging/kernelsu/userspace/ksud"}},{"before":null,"after":"9c570a2c9f7cdc3187a626877d44152a8681f71e","ref":"refs/heads/dependabot/npm_and_yarn/drivers/staging/kernelsu/website/postcss-8.4.31","pushedAt":"2023-10-07T11:29:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump postcss in /drivers/staging/kernelsu/website\n\nBumps [postcss](https://github.com/postcss/postcss) from 8.4.20 to 8.4.31.\n- [Release notes](https://github.com/postcss/postcss/releases)\n- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/postcss/postcss/compare/8.4.20...8.4.31)\n\n---\nupdated-dependencies:\n- dependency-name: postcss\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump postcss in /drivers/staging/kernelsu/website"}},{"before":null,"after":"1257ea6c7f23c7f3865fc99450bebbfb3f572a54","ref":"refs/heads/dependabot/npm_and_yarn/drivers/staging/kernelsu/website/vite-4.4.9","pushedAt":"2023-08-15T14:29:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump vite in /drivers/staging/kernelsu/website\n\nBumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.3.6 to 4.4.9.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v4.4.9/packages/vite)\n\n---\nupdated-dependencies:\n- dependency-name: vite\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump vite in /drivers/staging/kernelsu/website"}},{"before":"e21123c1859b943b28d04f8ec929e76902ec253a","after":"845456803627e47c6dae84214c0427ecdc3d7bb4","ref":"refs/heads/thirteen","pushedAt":"2023-08-15T14:27:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"Revert \"ARM64: dts: ea8076: Add 72hz Timmings\"\n\nThis reverts commit 9e536a26788607b5e9b6a0e788ea89ea674ee137.","shortMessageHtmlLink":"Revert \"ARM64: dts: ea8076: Add 72hz Timmings\""}},{"before":"543bbf12e277d5f60f74d4b1f57e30cf117f52ba","after":"e21123c1859b943b28d04f8ec929e76902ec253a","ref":"refs/heads/thirteen","pushedAt":"2023-04-03T22:39:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Jorg3Lucas","name":"Jorge Lucas","path":"/Jorg3Lucas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40587138?s=80&v=4"},"commit":{"message":"arch: arm64: display: enable ultra low power state during suspend\n\n--> Mitigates the cost of double-tap to wake and improves battery life\n\nSigned-off-by: Luan Cachoroski Halaiko ","shortMessageHtmlLink":"arch: arm64: display: enable ultra low power state during suspend"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEKVm5hAA","startCursor":null,"endCursor":null}},"title":"Activity · PixelExperience-Devices/kernel_xiaomi_raphael"}