aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/compression.c
AgeCommit message (Expand)AuthorFilesLines
2026-06-09Revert "btrfs: fix the file offset calculation inside btrfs_decompress_buf2pa...Matthew Wilcox (Oracle)1-17/+1
2026-06-08btrfs: refresh add_ra_bio_pages() to indicate it's using foliosQu Wenruo1-19/+17
2026-06-08btrfs: enable cross-folio readahead for bs < ps and large folio casesQu Wenruo1-27/+8
2026-05-15Merge tag 'for-7.1-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-12/+14
2026-05-08btrfs: always pass __GFP_NOWARN from add_ra_bio_pages()Calvin Owens1-12/+14
2026-04-15Merge tag 'mm-stable-2026-04-13-21-45' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-1/+1
2026-04-07btrfs: prevent direct reclaim during compressed readaheadJP Kobryn (Meta)1-7/+34
2026-04-07btrfs: reduce the size of compressed_bioQu Wenruo1-2/+0
2026-04-07btrfs: remove folio parameter from ordered io related functionsQu Wenruo1-1/+1
2026-04-05folio_batch: rename pagevec.h to folio_batch.hTal Zussman1-1/+1
2026-03-21Merge tag 'for-7.0-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-3/+8
2026-03-17btrfs: do not touch page cache for encoded writesQu Wenruo1-3/+7
2026-03-17btrfs: fix a bug that makes encoded write bio larger than expectedQu Wenruo1-0/+1
2026-02-21Convert 'alloc_obj' family to use the new default GFP_KERNEL argumentLinus Torvalds1-4/+4
2026-02-21treewide: Replace kmalloc with kmalloc_obj for non-scalar typesKees Cook1-4/+4
2026-02-03btrfs: get rid of compressed_bio::compressed_folios[]Qu Wenruo1-1/+0
2026-02-03btrfs: get rid of compressed_folios[] usage for encoded writesQu Wenruo1-31/+21
2026-02-03btrfs: get rid of compressed_folios[] usage for compressed readQu Wenruo1-20/+21
2026-02-03btrfs: remove the old btrfs_compress_folios() infrastructureQu Wenruo1-70/+0
2026-02-03btrfs: switch to btrfs_compress_bio() interface for compressed writesQu Wenruo1-9/+7
2026-02-03btrfs: introduce btrfs_compress_bio() helperQu Wenruo1-0/+68
2026-02-03btrfs: use the btrfs_extent_map_end() helper everywhereFilipe Manana1-1/+1
2026-02-03btrfs: switch to library APIs for checksumsEric Biggers1-1/+0
2025-12-05Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds1-2/+2
2025-11-24btrfs: fix incomplete parameter rename in btrfs_decompress()Zhen Ni1-1/+2
2025-11-24btrfs: enable encoded read/write/send for bs > ps casesQu Wenruo1-5/+4
2025-11-24btrfs: simplify list initialization in btrfs_compr_pool_scan()Baolin Liu1-3/+1
2025-11-24btrfs: remove btrfs_fs_info::compressed_write_workersQu Wenruo1-19/+8
2025-11-24btrfs: remove btrfs_bio::fs_info by extracting it from btrfs_bio::inodeQu Wenruo1-4/+2
2025-10-20mm/filemap: Add NUMA mempolicy support to filemap_alloc_folio()Matthew Wilcox1-2/+2
2025-09-23btrfs: prepare compression folio alloc/free for bs > ps casesQu Wenruo1-12/+30
2025-09-23btrfs: fix typos in comments and stringsDavid Sterba1-1/+1
2025-09-23btrfs: rename btrfs_compress_op to btrfs_compress_levelsQu Wenruo1-7/+7
2025-09-23btrfs: cleanup the per-module compression workspace managersQu Wenruo1-54/+1
2025-09-23btrfs: migrate to use per-fs workspace managerQu Wenruo1-9/+9
2025-09-23btrfs: add generic workspace manager initializationQu Wenruo1-0/+66
2025-09-23btrfs: add workspace manager initialization for zstdQu Wenruo1-0/+18
2025-09-23btrfs: add an fs_info parameter for compression workspace managerQu Wenruo1-35/+38
2025-09-22btrfs: pass btrfs_inode pointer directly into btrfs_compress_folios()Qu Wenruo1-6/+6
2025-09-22btrfs: try to search for data csums in commit rootBoris Burkov1-0/+1
2025-09-18btrfs: reject invalid compression levelQu Wenruo1-9/+13
2025-07-21btrfs: use pgoff_t for page index variablesDavid Sterba1-6/+6
2025-07-21btrfs: replace nested usage of min & max with clamp in btrfs_compress_set_lev...George Hu1-1/+1
2025-07-21btrfs: use our message helpers instead of pr_err/pr_warn/pr_infoDavid Sterba1-5/+5
2025-05-15btrfs: rename ret2 to ret in btrfs_submit_compressed_read()David Sterba1-3/+3
2025-05-15btrfs: rename ret to status in btrfs_submit_compressed_read()David Sterba1-5/+5
2025-05-15btrfs: simplify reading bio status in end_compressed_writeback()David Sterba1-3/+3
2025-05-15btrfs: use bvec_kmap_local() in btrfs_decompress_buf2page()Christoph Hellwig1-3/+6
2025-05-15btrfs: rename remaining exported extent map functionsFilipe Manana1-2/+2
2025-05-15btrfs: rename functions to allocate and free extent mapsFilipe Manana1-3/+3
2025-05-15btrfs: rename extent map functions to get block start, end and check if in treeFilipe Manana1-2/+2
2025-05-15btrfs: rename exported extent map compression functionsFilipe Manana1-2/+2
2025-05-15btrfs: add btrfs prefix to main lock, try lock and unlock extent functionsFilipe Manana1-3/+3
2025-05-15btrfs: use folio_contains() for EOF detectionQu Wenruo1-1/+1
2025-05-15btrfs: fix the file offset calculation inside btrfs_decompress_buf2page()Qu Wenruo1-1/+17
2025-05-02btrfs: compression: adjust cb->compressed_folios allocation typeKees Cook1-1/+1
2025-03-18btrfs: defrag: extend ioctl to accept compression levelsDaniel Vacek1-0/+10
2025-03-18btrfs: zstd: enable negative compression levels mount optionDaniel Vacek1-11/+10
2024-11-11btrfs: use filemap_get_folio() helperAnand Jain1-1/+1
2024-11-11btrfs: rename btrfs_folio_(set|start|end)_writer_lock()Qu Wenruo1-1/+1
2024-11-11btrfs: unify to use writer locks for subpage lockingQu Wenruo1-2/+1
2024-11-11btrfs: drop unused parameter level from alloc_heuristic_ws()David Sterba1-2/+2
2024-11-11btrfs: lzo: drop unused paramter level from lzo_alloc_workspace()David Sterba1-1/+1
2024-11-11btrfs: compression: add an ASSERT() to ensure the read-in length is saneQu Wenruo1-0/+3
2024-09-10btrfs: convert btrfs_decompress() to take a folioLi Zetao1-7/+7
2024-09-10btrfs: convert zstd_decompress() to take a folioLi Zetao1-1/+1
2024-09-10btrfs: convert lzo_decompress() to take a folioLi Zetao1-1/+1
2024-09-10btrfs: convert zlib_decompress() to take a folioLi Zetao1-1/+1
2024-09-10btrfs: do not hold the extent lock for entire readJosef Bacik1-1/+1
2024-09-10btrfs: rename btrfs_submit_bio() to btrfs_submit_bbio()David Sterba1-2/+2
2024-09-10btrfs: convert add_ra_bio_pages() to use only foliosJosef Bacik1-29/+33
2024-07-11btrfs: fix extent map use-after-free when adding pages to compressed bioFilipe Manana1-1/+1
2024-07-11btrfs: remove the extra_gfp parameter from btrfs_alloc_folio_array()Qu Wenruo1-1/+1
2024-07-11btrfs: pass a btrfs_inode to btrfs_compress_heuristic()David Sterba1-2/+2
2024-07-11btrfs: switch btrfs_ordered_extent::inode to struct btrfs_inodeDavid Sterba1-1/+1
2024-07-11btrfs: remove extent_map::block_start memberQu Wenruo1-1/+2
2024-07-11btrfs: remove extent_map::block_len memberQu Wenruo1-1/+1
2024-07-11btrfs: remove extent_map::orig_start memberQu Wenruo1-1/+1
2024-07-11btrfs: fix misspelled end IO compression callbacksFilipe Manana1-4/+4
2024-05-07btrfs: change root->root_key.objectid to btrfs_root_id()Josef Bacik1-1/+1
2024-05-07btrfs: compression: migrate compression/decompression paths to foliosQu Wenruo1-45/+45
2024-05-07btrfs: compression: convert page allocation to folio interfacesQu Wenruo1-12/+12
2024-05-07btrfs: compression: add error handling for missed page cacheQu Wenruo1-0/+23
2024-03-05btrfs: compression: remove dead comments in btrfs_compress_heuristic()Qu Wenruo1-5/+0
2024-03-04btrfs: add helper to get fs_info from struct inode pointerDavid Sterba1-3/+3
2024-03-04btrfs: add helpers to get fs_info from page/folio pointersDavid Sterba1-1/+1
2024-03-04btrfs: remove unused included headersDavid Sterba1-4/+1
2024-01-18btrfs: zlib: fix and simplify the inline extent decompressionQu Wenruo1-7/+16
2023-12-15btrfs: migrate various end io functions to foliosQu Wenruo1-4/+4
2023-12-15btrfs: migrate subpage code to folio interfacesQu Wenruo1-3/+4
2023-12-15btrfs: refactor alloc_extent_buffer() to allocate-then-attach methodQu Wenruo1-1/+1
2023-12-15btrfs: use the flags of an extent map to identify the compression typeFilipe Manana1-2/+2
2023-12-15btrfs: use shrinker for compression page poolDavid Sterba1-0/+102
2023-12-15btrfs: use page alloc/free wrappers for compression pagesDavid Sterba1-1/+15
2023-10-12btrfs: rename errno identifiers to errorDavid Sterba1-3/+3
2023-06-19btrfs: make btrfs_compressed_bioset staticBen Dooks1-1/+1
2023-06-19btrfs: use btrfs_finish_ordered_extent to complete compressed writesChristoph Hellwig1-7/+2
2023-06-19btrfs: add an ordered_extent pointer to struct btrfs_bioChristoph Hellwig1-1/+1
2023-06-19btrfs: pass an ordered_extent to btrfs_submit_compressed_writeChristoph Hellwig1-14/+15
2023-06-19btrfs: limit write bios to a single ordered extentChristoph Hellwig1-2/+0
2023-06-19btrfs: stop setting PageError in the data I/O pathChristoph Hellwig1-2/+0
2023-06-19btrfs: remove the mirror_num argument to btrfs_submit_compressed_readChristoph Hellwig1-2/+2
2023-06-19btrfs: use SECTOR_SHIFT to convert physical offset to LBAAnand Jain1-1/+1
2023-04-17btrfs: introduce btrfs_bio::fs_info memberQu Wenruo1-1/+2
2023-04-17btrfs: move kthread_associate_blkcg out of btrfs_submit_compressed_writeChristoph Hellwig1-8/+0
2023-04-17btrfs: simplify adding pages in btrfs_add_compressed_bio_pagesChristoph Hellwig1-27/+7
2023-04-17btrfs: move the bi_sector assignment out of btrfs_add_compressed_bio_pagesChristoph Hellwig1-7/+6
2023-04-17btrfs: store a pointer to the original btrfs_bio in struct compressed_bioChristoph Hellwig1-7/+8
2023-04-17btrfs: pass a btrfs_bio to btrfs_submit_compressed_readChristoph Hellwig1-8/+8
2023-04-17btrfs: pass a btrfs_bio to btrfs_submit_bioChristoph Hellwig1-2/+2
2023-04-17btrfs: move zero filling of compressed read bios into common codeChristoph Hellwig1-0/+2
2023-04-17btrfs: fold finish_compressed_bio_write into btrfs_finish_compressed_write_workChristoph Hellwig1-9/+4
2023-04-17btrfs: don't clear page->mapping in btrfs_free_compressed_pagesChristoph Hellwig1-6/+2
2023-04-17btrfs: factor out a btrfs_free_compressed_pages helperChristoph Hellwig1-28/+13
2023-04-17btrfs: factor out a btrfs_add_compressed_bio_pages helperChristoph Hellwig1-63/+41
2023-04-17btrfs: use the bbio file offset in add_ra_bio_pagesChristoph Hellwig1-8/+1
2023-04-17btrfs: use the bbio file offset in btrfs_submit_compressed_readChristoph Hellwig1-4/+1
2023-04-17btrfs: remove redundant free_extent_map in btrfs_submit_compressed_readChristoph Hellwig1-2/+0
2023-04-17btrfs: embed a btrfs_bio into struct compressed_bioChristoph Hellwig1-78/+68
2023-02-15btrfs: split zone append bios in btrfs_submit_bioChristoph Hellwig1-89/+21
2023-02-15btrfs: remove the fs_info argument to btrfs_submit_bioChristoph Hellwig1-2/+2
2023-02-15btrfs: remove stripe boundary calculation for compressed I/OQu Wenruo1-97/+33
2023-02-15btrfs: handle recording of zoned writes in the storage layerChristoph Hellwig1-1/+0
2023-02-15btrfs: handle checksum generation in the storage layerChristoph Hellwig1-9/+0
2023-02-15btrfs: simplify the btrfs_csum_one_bio calling conventionChristoph Hellwig1-2/+4
2023-02-15btrfs: handle checksum validation and repair at the storage layerChristoph Hellwig1-39/+2
2023-02-15btrfs: pre-load data checksum for reads in btrfs_submit_bioChristoph Hellwig1-6/+0
2023-02-15btrfs: save the bio iter for checksum validation in common codeChristoph Hellwig1-4/+0
2023-02-15btrfs: simplify parameters of btrfs_lookup_bio_sumsChristoph Hellwig1-1/+1
2023-02-15btrfs: add a btrfs_inode pointer to struct btrfs_bioChristoph Hellwig1-1/+2
2023-02-15btrfs: fix spelling mistakes found using codespellColin Ian King1-2/+2
2023-02-13btrfs: use PAGE_{ALIGN, ALIGNED, ALIGN_DOWN} macroYushan Zhou1-1/+1
2022-12-05btrfs: split the bio submission path into a separate fileChristoph Hellwig1-1/+1
2022-12-05btrfs: constify input buffer parameter in compression codeDavid Sterba1-2/+2
2022-12-05btrfs: pass btrfs_inode to btrfs_check_data_csumDavid Sterba1-1/+1
2022-12-05btrfs: pass btrfs_inode to btrfs_repair_one_sectorDavid Sterba1-1/+1
2022-12-05btrfs: change how repair action is passed to btrfs_repair_one_sectorDavid Sterba1-1/+1
2022-12-05btrfs: move super_block specific helpers into super.hJosef Bacik1-0/+1
2022-12-05btrfs: move file-item prototypes into their own headerJosef Bacik1-0/+1
2022-12-05btrfs: move BTRFS_FS_STATE* definitions and helpers to fs.hJosef Bacik1-0/+1
2022-12-05btrfs: make module init/exit match their sequenceQu Wenruo1-1/+2
2022-11-08fs: fix leaked psi pressure stateJohannes Weiner1-6/+8
2022-10-10Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-16/+15
2022-10-07Merge tag 'for-6.1/block-2022-10-03' of git://git.kernel.dk/linuxLinus Torvalds1-2/+12
2022-09-26btrfs: unify the lock/unlock extent variantsJosef Bacik1-3/+3
2022-09-26btrfs: rename clean_io_failure and remove extraneous argsJosef Bacik1-3/+2
2022-09-26btrfs: give struct btrfs_bio a real end_io handlerChristoph Hellwig1-24/+17
2022-09-26btrfs: pass the operation to btrfs_bio_allocChristoph Hellwig1-3/+1
2022-09-20btrfs: add manual PSI accounting for compressed readsChristoph Hellwig1-2/+12
2022-09-11btrfs: convert end_compressed_writeback() to use filemap_get_folios()Vishal Moola (Oracle)1-16/+15
2022-08-03Merge tag 'for-5.20-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-254/+99
2022-07-25btrfs: don't call btrfs_page_set_checked in finish_compressed_bio_readChristoph Hellwig1-22/+2
2022-07-25btrfs: fix repair of compressed extentsChristoph Hellwig1-111/+56
2022-07-25btrfs: simplify the pending I/O counting in struct compressed_bioChristoph Hellwig1-95/+30
2022-07-25btrfs: do not return errors from btrfs_map_bioChristoph Hellwig1-6/+2
2022-07-25btrfs: remove btrfs_end_io_wqChristoph Hellwig1-4/+0
2022-07-25btrfs: don't use btrfs_bio_wq_end_io for compressed writesChristoph Hellwig1-22/+22
2022-07-25btrfs: remove redundant calls to flush_dcache_pageDavid Sterba1-2/+0
2022-07-25btrfs: introduce a data checksum checking helperQu Wenruo1-9/+4
2022-07-14fs/btrfs: Use the enum req_op and blk_opf_t typesBart Van Assche1-3/+3
2022-05-16btrfs: derive compression type from extent map during readsGoldwyn Rodrigues1-5/+5
2022-05-16btrfs: do not return errors from btrfs_submit_compressed_readChristoph Hellwig1-6/+5
2022-05-16btrfs: do not pass compressed_bio to submit_compressed_bio()Goldwyn Rodrigues1-3/+2
2022-05-16btrfs: factor out allocating an array of pagesSweet Tea Dorminy1-21/+15
2022-04-06btrfs: fix btrfs_submit_compressed_write cgroup attributionDennis Zhou1-0/+8
2022-03-14btrfs: do not double complete bio on errors during compressed readsJosef Bacik1-6/+14
2022-03-14btrfs: track compressed bio errors as blk_status_tJosef Bacik1-11/+13
2022-03-14btrfs: remove the bio argument from finish_compressed_bio_readJosef Bacik1-5/+3
2022-03-14btrfs: check correct bio in finish_compressed_bio_readJosef Bacik1-1/+1
2022-03-14btrfs: add BTRFS_IOC_ENCODED_WRITEOmar Sandoval1-2/+5
2022-03-14btrfs: don't advance offset for compressed bios in btrfs_csum_one_bio()Omar Sandoval1-1/+1
2022-01-07btrfs: remove unnecessary parameter type from compression_decompress_bioSu Yue1-4/+4
2022-01-03btrfs: set BTRFS_FS_STATE_NO_CSUMS if we fail to load the csum rootJosef Bacik1-1/+2
2021-11-01Merge tag 'for-5.16-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-273/+400
2021-11-01Merge tag 'for-5.16/block-2021-10-29' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+1
2021-10-27Revert "btrfs: compression: drop kmap/kunmap from generic helpers"David Sterba1-1/+2
2021-10-26btrfs: subpage: make end_compressed_bio_writeback() compatibleQu Wenruo1-1/+3
2021-10-26btrfs: subpage: make btrfs_submit_compressed_write() compatibleQu Wenruo1-1/+2
2021-10-26btrfs: determine stripe boundary at bio allocation time in btrfs_submit_compr...Qu Wenruo1-82/+59
2021-10-26btrfs: determine stripe boundary at bio allocation time in btrfs_submit_compr...Qu Wenruo1-71/+97
2021-10-26btrfs: introduce alloc_compressed_bio() for compressionQu Wenruo1-32/+58
2021-10-26btrfs: introduce submit_compressed_bio() for compressionQu Wenruo1-26/+19
2021-10-26btrfs: handle errors properly inside btrfs_submit_compressed_write()Qu Wenruo1-36/+62
2021-10-26btrfs: handle errors properly inside btrfs_submit_compressed_read()Qu Wenruo1-50/+83
2021-10-26btrfs: subpage: add bitmap for PageChecked flagQu Wenruo1-2/+8
2021-10-26btrfs: introduce compressed_bio::pending_sectors to trace compressed bioQu Wenruo1-33/+42
2021-10-26btrfs: subpage: make add_ra_bio_pages() compatibleQu Wenruo1-32/+58
2021-10-26btrfs: remove unused parameter nr_pages in add_ra_bio_pages()Qu Wenruo1-2/+0
2021-10-26btrfs: rename struct btrfs_io_bio to btrfs_bioQu Wenruo1-8/+8
2021-10-26btrfs: remove btrfs_bio_alloc() helperQu Wenruo1-4/+8
2021-10-18mm: don't include <linux/blk-cgroup.h> in <linux/backing-dev.h>Christoph Hellwig1-0/+1
2021-08-23btrfs: rework btrfs_decompress_buf2page()Qu Wenruo1-77/+63
2021-08-23btrfs: grab correct extent map for subpage compressed extent readQu Wenruo1-3/+6
2021-08-23btrfs: disable compressed readahead for subpageQu Wenruo1-0/+10
2021-08-23btrfs: compression: drop kmap/kunmap from generic helpersDavid Sterba1-2/+1
2021-08-23btrfs: drop from __GFP_HIGHMEM all allocationsDavid Sterba1-2/+1
2021-07-28btrfs: mark compressed range uptodate only if all bio succeedGoldwyn Rodrigues1-1/+1
2021-06-22btrfs: remove a stale comment for btrfs_decompress_bio()Qu Wenruo1-14/+0
2021-06-21btrfs: pass btrfs_inode to btrfs_writepage_endio_finish_ordered()Qu Wenruo1-3/+1
2021-06-21btrfs: fix comment about max_out in btrfs_compress_pagesAnand Jain1-3/+0