aboutsummaryrefslogtreecommitdiffstats
path: root/fs/erofs/zdata.c
AgeCommit message (Expand)AuthorFilesLines
9 dayserofs: remove fscache backend entirelyGao Xiang1-6/+0
10 dayserofs: simplify RCU read critical sectionsGao Xiang1-18/+14
2026-05-29erofs: fix use-after-free on sbi->sync_decompressGao Xiang1-3/+3
2026-05-20erofs: fix managed cache race for unaligned extentsGao Xiang1-7/+8
2026-04-21erofs: fix offset truncation when shifting pgoff on 32-bit platformsGao Xiang1-1/+1
2026-04-10erofs: clean up encoded map flagsGao Xiang1-10/+9
2026-04-02erofs: ensure all folios are managed in erofs_try_to_free_all_cached_folios()Zhan Xusheng1-2/+1
2026-03-19erofs: add GFP_NOIO in the bio completion if neededJiucheng Xu1-0/+3
2026-02-21treewide: Replace kmalloc with kmalloc_obj for non-scalar typesKees Cook1-8/+8
2026-02-05erofs: fix inline data read failure for ztailpacking pclustersGao Xiang1-14/+16
2026-01-23erofs: support compressed inodes for page cache shareHongzhen Luo1-14/+24
2026-01-23erofs: pass inode to trace_erofs_read_folioHongbo Li1-1/+1
2026-01-23erofs: tidy up synchronous decompressionGao Xiang1-22/+13
2026-01-23erofs: avoid noisy messages for transient -ENOMEMGao Xiang1-3/+4
2026-01-23erofs: Use %pe format specifier for error pointersFerry Meng1-2/+2
2025-12-22erofs: fix unexpected EIO under memory pressureJunbeom Yeom1-4/+4
2025-12-05Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-1/+1
2025-11-28erofs: improve decompression error reportingGao Xiang1-4/+17
2025-10-20mm/filemap: Add NUMA mempolicy support to filemap_alloc_folio()Matthew Wilcox1-1/+1
2025-09-25erofs: drop redundant sanity check for ztailpacking inlineGao Xiang1-3/+0
2025-09-23erofs: avoid reading more for fragment mapsGao Xiang1-2/+2
2025-08-11erofs: fix atomic context detection when !CONFIG_DEBUG_LOCK_ALLOCJunli Liu1-2/+11
2025-07-24erofs: implement metadata compressionBo Liu (OpenAnolis)1-1/+4
2025-07-24erofs: remove need_kmap in erofs_read_metabuf()Gao Xiang1-2/+3
2025-07-24erofs: get rid of {get,put}_page() for ztailpacking dataGao Xiang1-8/+6
2025-07-12erofs: fix large fragment handlingGao Xiang1-1/+1
2025-07-10erofs: address D-cache aliasingGao Xiang1-3/+3
2025-05-25erofs: support DEFLATE decompression by using Intel QATBo Liu1-0/+1
2025-05-22erofs: add 'fsoffset' mount option to specify filesystem offsetSheng Yong1-1/+2
2025-05-16erofs: lazily initialize per-CPU workers and CPU hotplug hooksSandeep Dhavale1-20/+50
2025-05-16erofs: refine readahead tracepointGao Xiang1-3/+2
2025-05-07erofs: ensure the extra temporary copy is valid for shortened bvecsGao Xiang1-16/+13
2025-04-10erofs: remove duplicate codeBo Liu1-1/+0
2025-03-17erofs: support unaligned encoded dataGao Xiang1-47/+45
2025-03-17erofs: initialize decompression earlyGao Xiang1-2/+2
2025-03-17erofs: move {in,out}pages into struct z_erofs_decompress_reqGao Xiang1-0/+2
2025-03-17erofs: get rid of erofs_kmap_typeBo Liu1-2/+2
2025-02-07lockref: remove count argument of lockref_initAndreas Gruenbacher1-1/+1
2025-01-25Merge tag 'erofs-for-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-151/+92
2025-01-21Merge tag 'kthread-for-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+1
2025-01-20Merge tag 'vfs-6.14-rc1.misc' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-2/+1
2025-01-17erofs: convert z_erofs_bind_cache() to foliosGao Xiang1-31/+20
2025-01-17erofs: tidy up zdata.cGao Xiang1-68/+43
2025-01-17erofs: get rid of `z_erofs_next_pcluster_t`Gao Xiang1-51/+29
2025-01-17erofs: fix potential return value overflow of z_erofs_shrink_scan()Gao Xiang1-2/+1
2025-01-16erofs: use lockref_init for pcl->lockrefChristoph Hellwig1-2/+1
2025-01-08treewide: Introduce kthread_run_worker[_on_cpu]()Frederic Weisbecker1-1/+1
2025-01-08kthread: Unify kthread_create_on_cpu() and kthread_create_worker_on_cpu() aut...Frederic Weisbecker1-1/+1
2024-12-13erofs: fix PSI memstall accountingGao Xiang1-2/+2
2024-11-18erofs: add sysfs node to drop internal cachesChunhai Guo1-1/+0
2024-11-18erofs: free pclusters if no cached folio is attachedChunhai Guo1-19/+38
2024-11-18erofs: sunset `struct erofs_workgroup`Gao Xiang1-71/+60
2024-11-18erofs: move erofs_workgroup operations into zdata.cGao Xiang1-7/+95
2024-11-18erofs: get rid of erofs_{find,insert}_workgroupGao Xiang1-10/+28
2024-10-11erofs: get rid of z_erofs_try_to_claim_pcluster()Gao Xiang1-20/+9
2024-09-12erofs: allocate more short-lived pages from reserved pool firstChunhai Guo1-2/+3
2024-09-12erofs: sunset unneeded NOFAILsGao Xiang1-26/+31
2024-09-10erofs: support compressed inodes for fileioGao Xiang1-10/+17
2024-09-10erofs: support unencoded inodes for fileioGao Xiang1-41/+5
2024-09-10erofs: handle overlapped pclusters out of crafted images properlyGao Xiang1-33/+38
2024-07-13erofs: silence uninitialized variable warning in z_erofs_scan_folio()Dan Carpenter1-1/+1
2024-07-11erofs: avoid refcounting short-lived pagesGao Xiang1-9/+18
2024-07-09erofs: refine z_erofs_{init,exit}_subsystem()Gao Xiang1-11/+18
2024-07-09erofs: move each decompressor to its own source fileGao Xiang1-1/+1
2024-07-08erofs: tidy up `struct z_erofs_bvec`Gao Xiang1-52/+49
2024-07-08erofs: teach z_erofs_scan_folios() to handle multi-page foliosGao Xiang1-83/+80
2024-07-08erofs: convert z_erofs_read_fragment() to foliosGao Xiang1-8/+7
2024-07-08erofs: convert z_erofs_pcluster_readmore() to foliosGao Xiang1-8/+7
2024-05-18z_erofs_pcluster_begin(): don't bother with rounding position downAl Viro1-1/+1
2024-05-18erofs: mechanically convert erofs_read_metabuf() to offsetsAl Viro1-1/+1
2024-04-25erofs_buf: store address_space instead of inodeAl Viro1-1/+1
2024-04-07erofs: switch erofs_bread() to passing offset instead of block numberAl Viro1-2/+2
2024-03-10erofs: support compressed inodes over fscacheJingbo Xu1-12/+20
2024-03-10erofs: refine managed cache operations to foliosGao Xiang1-32/+31
2024-03-10erofs: convert z_erofs_submissionqueue_endio() to foliosGao Xiang1-11/+11
2024-03-10erofs: convert z_erofs_fill_bio_vec() to foliosGao Xiang1-35/+36
2024-03-10erofs: get rid of `justfound` debugging tagGao Xiang1-17/+3
2024-03-10erofs: convert z_erofs_do_read_page() to foliosGao Xiang1-16/+15
2024-03-10erofs: convert z_erofs_onlinepage_.* to foliosGao Xiang1-28/+22
2024-01-27erofs: relaxed temporary buffers allocation on readaheadChunhai Guo1-4/+12
2024-01-26erofs: fix infinite loop due to a race of filling compressed_bvecsGao Xiang1-36/+38
2024-01-25erofs: get rid of unneeded GFP_NOFSJingbo Xu1-4/+4
2023-12-21erofs: allow partially filled compressed bvecsYue Hu1-23/+13
2023-12-18erofs: enable sub-page compressed block supportGao Xiang1-2/+4
2023-12-18erofs: fix ztailpacking for subpage compressed blocksGao Xiang1-1/+1
2023-12-15erofs: record `pclustersize` in bytes instead of pagesGao Xiang1-38/+26
2023-12-15erofs: support I/O submission for sub-page compressed blocksGao Xiang1-82/+74
2023-12-15erofs: fix memory leak on short-lived bounced pagesGao Xiang1-3/+2
2023-10-31erofs: fix erofs_insert_workgroup() lockref usageGao Xiang1-0/+1
2023-08-23erofs: release ztailpacking pclusters properlyJingbo Xu1-1/+4
2023-08-23erofs: adapt folios for z_erofs_read_folio()Gao Xiang1-5/+4
2023-08-23erofs: adapt folios for z_erofs_readahead()Gao Xiang1-17/+15
2023-08-23erofs: get rid of fe->backmost for cache decompressionGao Xiang1-5/+2
2023-08-23erofs: drop z_erofs_page_mark_eio()Gao Xiang1-20/+9
2023-08-23erofs: tidy up z_erofs_do_read_page()Gao Xiang1-29/+24
2023-08-23erofs: move preparation logic into z_erofs_pcluster_begin()Gao Xiang1-33/+27
2023-08-23erofs: avoid obsolete {collector,collection} termsGao Xiang1-21/+18
2023-08-23erofs: simplify z_erofs_read_fragment()Gao Xiang1-26/+13
2023-08-23erofs: refine warning messages for zdata I/OsFerry Meng1-14/+9
2023-08-01erofs: fix wrong primary bvec selection on deduplicated extentsGao Xiang1-3/+4
2023-07-12erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOFChunhai Guo1-1/+1
2023-07-12erofs: avoid useless loops in z_erofs_pcluster_readmore() when reading beyond...Chunhai Guo1-1/+1
2023-06-22erofs: Fix detection of atomic contextSandeep Dhavale1-1/+1
2023-06-18erofs: use poison pointer to replace the hard-coded addressGao Xiang1-3/+1
2023-06-18erofs: use struct lockref to replace handcrafted approachGao Xiang1-7/+8
2023-05-29erofs: adapt managed inode operations into foliosGao Xiang1-8/+51
2023-05-29erofs: kill hooked chains to avoid loops on deduplicated compressed imagesGao Xiang1-61/+11
2023-05-29erofs: avoid on-stack pagepool directly passed by argumentsGao Xiang1-34/+30
2023-05-29erofs: allocate extra bvec pages directly instead of retryingGao Xiang1-19/+11
2023-05-29erofs: clean up z_erofs_pcluster_readmore()Yue Hu1-15/+12
2023-05-29erofs: remove the member readahead from struct z_erofs_decompress_frontendYue Hu1-10/+8
2023-05-29erofs: fold in z_erofs_decompress()Yue Hu1-1/+3
2023-05-23erofs: use HIPRI by default if per-cpu kthreads are enabledGao Xiang1-2/+0
2023-04-17erofs: sunset erofs_dbg()Gao Xiang1-5/+0
2023-04-17erofs: keep meta inode into erofs_bufGao Xiang1-2/+2
2023-04-17erofs: avoid hardcoded blocksize for subpage block supportJingbo Xu1-8/+10
2023-03-09erofs: Revert "erofs: fix kvcalloc() misuse with __GFP_NOFAIL"Gao Xiang1-6/+6
2023-02-16erofs: fix an error code in z_erofs_init_zip_subsystem()Dan Carpenter1-1/+3
2023-02-15erofs: add per-cpu threads for decompression as an optionSandeep Dhavale1-20/+170
2023-02-15erofs: move zdata.h into zdata.cGao Xiang1-1/+165
2023-02-15erofs: remove tagged pointer helpersGao Xiang1-20/+6
2023-02-15erofs: avoid tagged pointers to mark sync decompressionGao Xiang1-26/+16
2023-01-10erofs: fix kvcalloc() misuse with __GFP_NOFAILGao Xiang1-6/+6
2022-12-07erofs: Fix pcluster memleak when its block address is zeroChen Zhongjin1-1/+2
2022-12-07erofs: clean up cached I/O strategiesGao Xiang1-46/+31
2022-11-15Merge tag 'erofs-for-6.1-rc6-fixes' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-0/+3
2022-11-08fs: fix leaked psi pressure stateJohannes Weiner1-7/+11
2022-11-08erofs: fix general protection fault when reading fragmentYue Hu1-0/+3
2022-10-17erofs: fix up inplace decompression success rateGao Xiang1-5/+4
2022-10-17erofs: shouldn't churn the mapping page for duplicated copiesGao Xiang1-5/+3
2022-10-07Merge tag 'for-6.1/block-2022-10-03' of git://git.kernel.dk/linuxLinus Torvalds1-1/+12
2022-09-26erofs: introduce partial-referenced pclustersGao Xiang1-0/+1
2022-09-26erofs: support on-disk compressed fragments dataYue Hu1-1/+49
2022-09-20erofs: add manual PSI accounting for the compressed address spaceChristoph Hellwig1-1/+12
2022-07-22erofs: introduce multi-reference pclusters (fully-referenced)Gao Xiang1-54/+88
2022-07-21erofs: record the longest decompressed size in this roundGao Xiang1-51/+27
2022-07-21erofs: introduce z_erofs_do_decompressed_bvec()Gao Xiang1-27/+22
2022-07-21erofs: try to leave (de)compressed_pages on stack if possibleGao Xiang1-13/+21
2022-07-21erofs: introduce struct z_erofs_decompress_backendGao Xiang1-65/+75
2022-07-21erofs: get rid of `z_pagemap_global'Gao Xiang1-24/+4
2022-07-21erofs: clean up `enum z_erofs_collectmode'Gao Xiang1-32/+31
2022-07-21erofs: get rid of `enum z_erofs_page_type'Gao Xiang1-25/+5
2022-07-21erofs: rework online page handlingGao Xiang1-34/+23
2022-07-21erofs: switch compressed_pages[] to bufvecGao Xiang1-58/+55
2022-07-21erofs: introduce `z_erofs_parse_in_bvecs'Gao Xiang1-52/+80
2022-07-21erofs: drop the old pagevec approachGao Xiang1-6/+15
2022-07-21erofs: introduce bufvec to store decompressed buffersGao Xiang1-46/+131
2022-07-21erofs: introduce `z_erofs_parse_out_bvecs()'Gao Xiang1-38/+43
2022-07-21erofs: clean up z_erofs_collector_begin()Gao Xiang1-17/+15
2022-07-21erofs: get rid of unneeded `inode', `map' and `sb'Gao Xiang1-23/+19
2022-06-01Merge tag 'erofs-for-5.19-rc1-fixes' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-100/+67
2022-05-31erofs: fix 'backmost' member of z_erofs_decompress_frontendWeizhao Ouyang1-1/+1
2022-05-31erofs: simplify z_erofs_pcluster_readmore()Gao Xiang1-13/+10
2022-05-31erofs: get rid of label `restart_now'Gao Xiang1-19/+14
2022-05-31erofs: get rid of `struct z_erofs_collection'Gao Xiang1-68/+43
2022-05-09erofs: Convert erofs zdata to read_folioMatthew Wilcox (Oracle)1-3/+4
2022-04-15erofs: fix use-after-free of on-stack io[]Hongyu Jin1-8/+4
2022-03-22Merge tag 'erofs-for-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-96/+88
2022-03-21Merge tag 'for-5.18/block-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-3/+2
2022-03-17erofs: refine managed inode stuffsGao Xiang1-4/+3
2022-03-16erofs: clean up preload_compressed_pages()Gao Xiang1-8/+10
2022-03-16erofs: get rid of `struct z_erofs_collector'Gao Xiang1-86/+77
2022-02-02block: pass a block_device and opf to bio_allocChristoph Hellwig1-3/+2
2022-01-24erofs: avoid unnecessary z_erofs_decompressqueue_work() declarationGao Xiang1-57/+56
2022-01-04erofs: use meta buffers for zmap operationsGao Xiang1-14/+9
2021-12-31erofs: support inline data decompressionYue Hu1-42/+97
2021-12-08erofs: add sysfs node to control sync decompression strategyHuang Jianan1-4/+22
2021-11-13Merge tag 'erofs-for-5.16-rc1-fixes' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-26/+7
2021-11-08erofs: remove useless cache strategy of DELAYEDALLOCYue Hu1-20/+0
2021-11-08erofs: fix unsafe pagevec reuse of hooked pclustersGao Xiang1-6/+7
2021-10-25erofs: get rid of ->lru usageGao Xiang1-24/+18
2021-10-19erofs: lzma compression supportGao Xiang1-2/+2
2021-10-19erofs: introduce readmore decompression strategyGao Xiang1-19/+80
2021-10-18erofs: get compression algorithms directly on mappingGao Xiang1-6/+6
2021-10-18erofs: add multiple device supportGao Xiang1-5/+15
2021-10-17erofs: decouple basic mount options from fs_contextGao Xiang1-4/+4
2021-08-11erofs: remove the mapping parameter from erofs_try_to_free_cached_page()Yue Hu1-2/+1
2021-08-11erofs: directly use wrapper erofs_page_is_managed() when shrinkingYue Hu1-2/+1
2021-06-08erofs: clean up file headers & footersGao Xiang1-2/+0
2021-06-08erofs: remove the occupied parameter from z_erofs_pagevec_enqueue()Yue Hu1-3/+1
2021-04-10erofs: fix up inplace I/O pointer for big pclusterGao Xiang1-14/+14
2021-04-10erofs: introduce physical cluster slab poolsGao Xiang1-55/+115
2021-04-07erofs: reserve physical_clusterbits[]Gao Xiang1-2/+1
2021-04-03erofs: Clean up spelling mistakes found in fs/erofsRuiqi Gong1-1/+1
2021-03-29erofs: complete a missing case for inplace I/OGao Xiang1-15/+29
2021-03-29erofs: use sync decompression for atomic contexts onlyHuang Jianan1-2/+6
2021-03-29erofs: use workqueue decompression for atomic contexts onlyHuang Jianan1-1/+8
2021-03-11block: rename BIO_MAX_PAGES to BIO_MAX_VECSChristoph Hellwig1-1/+1
2020-12-09erofs: force inplace I/O under low memory scenarioGao Xiang1-8/+40
2020-12-08erofs: simplify try_to_claim_pcluster()Gao Xiang1-27/+24
2020-12-08erofs: insert to managed cache after adding to pclGao Xiang1-17/+9
2020-12-08erofs: get rid of magical Z_EROFS_MAPPING_STAGINGGao Xiang1-26/+31
2020-11-04erofs: fix setting up pcluster for temporary pagesGao Xiang1-2/+5
2020-09-19erofs: add REQ_RAHEAD flag to readahead requestsGao Xiang1-6/+11
2020-09-19erofs: fold in should_decompress_synchronously()Gao Xiang1-9/+3
2020-09-19erofs: avoid unnecessary variable `err'Gao Xiang1-3/+1
2020-09-18erofs: remove unneeded parameterChao Yu1-9/+6
2020-08-06Merge tag 'erofs-for-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-3/+3
2020-08-03erofs: remove WQ_CPU_INTENSIVE flag from unbound wq'sGao Xiang1-2/+2
2020-08-03erofs: Replace HTTP links with HTTPS onesAlexander A. Klimov1-1/+1