aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/scrub.c
AgeCommit message (Expand)AuthorFilesLines
9 daysbtrfs: scrub: initialize ret in scrub_simple_mirror() to fix compilation warningLu Yao1-1/+1
2024-04-18btrfs: scrub: run relocation repair when/only neededNaohiro Aota1-9/+9
2024-03-15btrfs: zoned: use zone aware sb location for scrubJohannes Thumshirn1-1/+11
2024-03-04btrfs: handle invalid extent item reference found in find_first_extent_item()David Sterba1-1/+8
2024-01-18btrfs: scrub: limit RST scrub to chunk boundaryQu Wenruo1-0/+7
2024-01-18btrfs: scrub: avoid use-after-free when chunk length is not 64K alignedQu Wenruo1-7/+22
2023-12-15btrfs: refactor alloc_extent_buffer() to allocate-then-attach methodQu Wenruo1-1/+1
2023-12-15btrfs: fix typos found by codespellDavid Sterba1-4/+4
2023-12-15btrfs: use a dedicated data structure for chunk mapsFilipe Manana1-23/+16
2023-12-15btrfs: use btrfs_next_item() at scrub.c:find_first_extent_item()Filipe Manana1-8/+5
2023-12-15btrfs: scrub: remove unused scrub_ctx::sectors_per_bioDavid Sterba1-1/+0
2023-11-03btrfs: make found_logical_ret parameter mandatory for function queue_scrub_st...Qu Wenruo1-3/+7
2023-10-12btrfs: add and use helpers for reading and writing last_trans_committedFilipe Manana1-1/+1
2023-10-12btrfs: scrub: implement raid stripe tree supportJohannes Thumshirn1-0/+71
2023-10-12btrfs: remove the need_raid_map parameter from btrfs_map_block()Qu Wenruo1-2/+2
2023-10-12btrfs: check-integrity: remove btrfsic_unmount() functionQu Wenruo1-1/+0
2023-08-21btrfs: scrub: move write back of repaired sectors to scrub_stripe_read_repair...Qu Wenruo1-47/+25
2023-08-21btrfs: scrub: don't go ordered workqueue for dev-replaceQu Wenruo1-7/+3
2023-08-21btrfs: scrub: fix grouping of read IOQu Wenruo1-25/+71
2023-08-21btrfs: scrub: avoid unnecessary csum tree search preparing stripesQu Wenruo1-10/+19
2023-08-21btrfs: scrub: avoid unnecessary extent tree search preparing stripesQu Wenruo1-12/+29
2023-08-21btrfs: scrub: remove unused btrfs_path in scrub_simple_mirror()Qu Wenruo1-5/+0
2023-08-21btrfs: scrub: remove redundant division of stripe_nrColin Ian King1-1/+0
2023-08-19Merge tag 'for-6.5-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-1/+2
2023-08-17btrfs: fix replace/scrub failure with metadata_uuidAnand Jain1-1/+2
2023-06-26Merge tag 'for-6.5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdav...Linus Torvalds1-90/+35
2023-06-22btrfs: fix remaining u32 overflows when left shifting stripe_nrQu Wenruo1-11/+11
2023-06-19btrfs: scrub: remove btrfs_fs_info::scrub_wr_completion_workersQu Wenruo1-17/+2
2023-06-19btrfs: scrub: remove scrub_ctx::csum_list memberQu Wenruo1-14/+0
2023-06-19btrfs: open code btrfs_map_sblockChristoph Hellwig1-4/+5
2023-06-19btrfs: use alloc_ordered_workqueue() to create ordered workqueuesTejun Heo1-2/+4
2023-06-19btrfs: scrub: remove more unused functionsJiapeng Chong1-42/+0
2023-06-19btrfs: handle tree backref walk error properlyQu Wenruo1-11/+17
2023-06-19btrfs: scrub: use recovered data stripes as cache to avoid unnecessary readQu Wenruo1-0/+7
2023-06-14btrfs: scrub: fix a return value overwrite in scrub_stripe()Qu Wenruo1-1/+1
2023-06-08btrfs: scrub: also report errors hit during the initial readQu Wenruo1-6/+18
2023-06-08btrfs: scrub: respect the read-only flag during repairQu Wenruo1-1/+1
2023-06-01btrfs: zoned: fix dev-replace after the scrub reworkQu Wenruo1-16/+32
2023-05-17btrfs: scrub: try harder to mark RAID56 block groups read-onlyQu Wenruo1-1/+8
2023-04-17btrfs: dev-replace: error out if we have unrepaired metadata error duringQu Wenruo1-5/+42
2023-04-17btrfs: scrub: remove scrub_bio structureQu Wenruo1-239/+6
2023-04-17btrfs: scrub: remove scrub_block and scrub_sector structuresQu Wenruo1-563/+0
2023-04-17btrfs: scrub: remove the old scrub recheck codeQu Wenruo1-990/+7
2023-04-17btrfs: scrub: remove the old writeback infrastructureQu Wenruo1-219/+2
2023-04-17btrfs: scrub: remove scrub_parity structureQu Wenruo1-520/+4
2023-04-17btrfs: scrub: use scrub_stripe to implement RAID56 P/Q scrubQu Wenruo1-10/+205
2023-04-17btrfs: scrub: switch scrub_simple_mirror() to scrub_stripe infrastructureQu Wenruo1-464/+29
2023-04-17btrfs: scrub: introduce helper to queue a stripe for scrubQu Wenruo1-8/+177
2023-04-17btrfs: scrub: introduce error reporting functionality for scrub_stripeQu Wenruo1-11/+157
2023-04-17btrfs: scrub: introduce a writeback helper for scrub_stripeQu Wenruo1-0/+93
2023-04-17btrfs: scrub: introduce the main read repair worker for scrub_stripeQu Wenruo1-2/+203
2023-04-17btrfs: scrub: introduce a helper to verify one scrub_stripeQu Wenruo1-1/+76
2023-04-17btrfs: scrub: introduce a helper to verify one metadata blockQu Wenruo1-0/+106
2023-04-17btrfs: scrub: introduce helper to find and fill sector info for a scrub_stripeQu Wenruo1-0/+143
2023-04-17btrfs: scrub: introduce structure for new BTRFS_STRIPE_LEN based interfaceQu Wenruo1-0/+142
2023-04-17btrfs: scrub: use dedicated super block verification function to scrub one su...Qu Wenruo1-8/+52
2023-04-17btrfs: scrub: remove root and csum_root arguments from scrub_simple_mirror()Qu Wenruo1-19/+9
2023-04-17btrfs: scrub: remove unused path inside scrub_stripe()Qu Wenruo1-15/+0
2023-04-17btrfs: dev-replace: properly follow its read modeQu Wenruo1-40/+112
2023-04-17btrfs: replace btrfs_io_context::raid_map with a fixed u64 valueQu Wenruo1-11/+14
2023-04-17btrfs: use an efficient way to represent source of duplicated stripesQu Wenruo1-2/+2
2023-04-17btrfs: reduce div64 calls by limiting the number of stripes of a chunk to u32Qu Wenruo1-6/+7
2023-04-17btrfs: replace map_lookup->stripe_len by BTRFS_STRIPE_LENQu Wenruo1-22/+21
2023-02-15btrfs: fix spelling mistakes found using codespellColin Ian King1-1/+1
2023-02-13btrfs: scrub: improve tree block error reportingQu Wenruo1-9/+40
2022-12-05btrfs: introduce a bitmap based csum range search functionQu Wenruo1-4/+4
2022-12-05btrfs: use btrfs_dev_name() helper to handle missing devices betterQu Wenruo1-11/+9
2022-12-05btrfs: use a structure to pass arguments to backref walking functionsFilipe Manana1-5/+9
2022-12-05btrfs: use a single argument for extent offset in backref walking functionsFilipe Manana1-1/+1
2022-12-05btrfs: send: optimize clone detection to increase extent sharingFilipe Manana1-2/+2
2022-12-05btrfs: move scrub prototypes into scrub.hJosef Bacik1-0/+1
2022-12-05btrfs: move file-item prototypes into their own headerJosef Bacik1-0/+1
2022-12-05btrfs: sink gfp_t parameter to alloc_scrub_sectorDavid Sterba1-6/+6
2022-12-05btrfs: switch GFP_NOFS to GFP_KERNEL in scrub_setup_recheck_blockDavid Sterba1-2/+2
2022-12-05btrfs: move accessor helpers into accessors.hJosef Bacik1-0/+1
2022-12-05btrfs: move fs wide helpers out of ctree.hJosef Bacik1-0/+1
2022-12-05btrfs: move BTRFS_MAX_MIRRORS into scrub.cJosef Bacik1-0/+11
2022-11-07btrfs: zoned: fix locking imbalance on scrubJohannes Thumshirn1-1/+0
2022-11-07Revert "btrfs: scrub: use larger block size for data extent scrub"Qu Wenruo1-7/+1
2022-09-29btrfs: make can_nocow_extent nowait compatibleJosef Bacik1-2/+2
2022-09-26btrfs: properly abstract the parity raid bio handlingChristoph Hellwig1-3/+5
2022-09-26btrfs: scrub: use larger block size for data extent scrubQu Wenruo1-1/+7
2022-09-26btrfs: scrub: move logical/physical/dev/mirror_num from scrub_sector to scrub...Qu Wenruo1-73/+92
2022-09-26btrfs: scrub: remove scrub_sector::page and use scrub_block::pages insteadQu Wenruo1-32/+67
2022-09-26btrfs: scrub: introduce scrub_block::pages for more efficient memory usage fo...Qu Wenruo1-22/+116
2022-09-26btrfs: scrub: factor out allocation and initialization of scrub_sector into h...Qu Wenruo1-31/+29
2022-09-26btrfs: scrub: factor out initialization of scrub_block into helperQu Wenruo1-23/+23
2022-09-26btrfs: scrub: use pointer array to replace sblocks_for_recheckQu Wenruo1-46/+53
2022-09-26btrfs: scrub: remove impossible sanity checksQu Wenruo1-25/+9
2022-09-26btrfs: remove lock protection for BLOCK_GROUP_FLAG_TO_COPYJosef Bacik1-2/+0
2022-09-26btrfs: convert block group bit field to use bit helpersJosef Bacik1-6/+6
2022-09-26btrfs: scrub: try to fix super block errorsQu Wenruo1-0/+36
2022-09-26btrfs: scrub: properly report super block errors in system logQu Wenruo1-21/+12
2022-07-25btrfs: do not return errors from raid56_parity_recoverChristoph Hellwig1-8/+2
2022-07-25btrfs: raid56: use fixed stripe length everywhereChristoph Hellwig1-6/+3
2022-07-25btrfs: remove parameter dev_extent_len from scrub_stripe()Qu Wenruo1-7/+8
2022-07-25btrfs: use integrated bitmaps for scrub_parity::dbitmap and ebitmapQu Wenruo1-24/+13
2022-05-16btrfs: scrub: move scrub_remap_extent() call into scrub_extent()Qu Wenruo1-27/+35
2022-05-16btrfs: scrub: use find_first_extent_item to for extent item searchQu Wenruo1-73/+25
2022-05-16btrfs: scrub: refactor scrub_raid56_parity()Qu Wenruo1-181/+164
2022-05-16btrfs: scrub: use scrub_simple_mirror() to handle RAID56 data stripe scrubQu Wenruo1-226/+21
2022-05-16btrfs: scrub: cleanup the non-RAID56 branches in scrub_stripe()Qu Wenruo1-77/+51
2022-05-16btrfs: scrub: introduce dedicated helper to scrub simple-stripe based rangeQu Wenruo1-12/+88
2022-05-16btrfs: scrub: introduce dedicated helper to scrub simple-mirror based rangeQu Wenruo1-0/+188
2022-05-16btrfs: scrub: introduce a helper to locate an extent itemQu Wenruo1-0/+107
2022-05-16btrfs: calculate physical_end using dev_extent_len directly in scrub_stripe()Qu Wenruo1-4/+2
2022-05-16btrfs: use normal workqueues for scrubChristoph Hellwig1-41/+38
2022-05-16btrfs: raid56: make raid56_add_scrub_pages() subpage compatibleQu Wenruo1-1/+5
2022-05-16btrfs: don't allocate a btrfs_bio for scrub biosChristoph Hellwig1-29/+15
2022-05-16btrfs: use on-stack bio in scrub_repair_page_from_good_copyChristoph Hellwig1-14/+9
2022-05-16btrfs: use on-stack bio in scrub_recheck_blockChristoph Hellwig1-10/+8
2022-05-16btrfs: check-integrity: split submit_bio from btrfsic checkingChristoph Hellwig1-4/+8
2022-05-16btrfs: remove unnecessary type castsYu Zhe1-1/+1
2022-05-16btrfs: scrub: rename scrub_bio::pagev and related membersQu Wenruo1-39/+39
2022-05-16btrfs: scrub: rename scrub_page to scrub_sectorQu Wenruo1-238/+234
2022-05-16btrfs: scrub: rename members related to scrub_block::pagevQu Wenruo1-115/+109
2022-04-21btrfs: fix assertion failure during scrub due to block group reallocationFilipe Manana1-1/+25
2022-03-14btrfs: scrub: remove redundant initialization of incrementJiapeng Chong1-1/+1
2022-01-07btrfs: scrub: cleanup the argument list of scrub_stripe()Qu Wenruo1-32/+35
2022-01-07btrfs: scrub: cleanup the argument list of scrub_chunk()Qu Wenruo1-19/+19
2022-01-07btrfs: remove reada infrastructureQu Wenruo1-36/+0
2022-01-07btrfs: scrub: use btrfs_path::reada for extent tree readaheadQu Wenruo1-0/+1
2022-01-07btrfs: scrub: remove the unnecessary path parameter for scrub_raid56_parity()Qu Wenruo1-14/+16
2022-01-07btrfs: zoned: sink zone check into btrfs_repair_one_zoneJohannes Thumshirn1-2/+2
2022-01-07btrfs: scrub: merge SCRUB_PAGES_PER_RD_BIO and SCRUB_PAGES_PER_WR_BIOQu Wenruo1-20/+14
2022-01-07btrfs: update SCRUB_MAX_PAGES_PER_BLOCKQu Wenruo1-6/+5
2022-01-03btrfs: stop accessing ->csum_root directlyJosef Bacik1-2/+5
2022-01-03btrfs: stop accessing ->extent_root directlyJosef Bacik1-2/+4
2022-01-03btrfs: drop the _nr from the item helpersJosef Bacik1-1/+1
2021-11-16btrfs: make 1-bit bit-fields of scrub_page unsigned intColin Ian King1-2/+2
2021-10-26btrfs: handle device lookup with btrfs_dev_lookup_argsJosef Bacik1-2/+4
2021-10-26btrfs: add a BTRFS_FS_ERROR helperJosef Bacik1-1/+1
2021-10-26btrfs: remove btrfs_raid_bio::fs_info memberQu Wenruo1-4/+4
2021-10-26btrfs: rename struct btrfs_io_bio to btrfs_bioQu Wenruo1-7/+7
2021-10-26btrfs: remove btrfs_bio_alloc() helperQu Wenruo1-2/+2
2021-10-26btrfs: rename btrfs_bio to btrfs_io_contextQu Wenruo1-58/+57
2021-06-22btrfs: fix typos in commentsDavid Sterba1-1/+1
2021-06-21btrfs: scrub: fix subpage repair error caused by hard coded PAGE_SIZEQu Wenruo1-40/+42
2021-06-21btrfs: scrub: factor out common scrub_stripe constraintsDavid Sterba1-7/+2
2021-06-21btrfs: scrub: per-device bandwidth controlDavid Sterba1-0/+66
2021-04-20btrfs: zoned: fix unpaired block group unfreeze during device replaceFilipe Manana1-3/+2
2021-04-19btrfs: scrub: drop a few function declarationsAnand Jain1-8/+0
2021-03-12Merge tag 'block-5.12-2021-03-12-v2' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2021-03-11block: rename BIO_MAX_PAGES to BIO_MAX_VECSChristoph Hellwig1-1/+1
2021-03-01Merge tag 'for-5.12-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-1/+8
2021-02-22btrfs: fix race between writes to swap files and scrubFilipe Manana1-1/+8
2021-02-21Merge tag 'for-5.12/block-2021-02-17' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2021-02-09btrfs: zoned: relocate block group to repair IO failure in zoned filesystemsNaohiro Aota1-0/+3
2021-02-09btrfs: zoned: support dev-replace in zoned filesystemsNaohiro Aota1-0/+40
2021-02-09btrfs: zoned: implement copying for zoned device-replaceNaohiro Aota1-0/+84
2021-02-09btrfs: zoned: mark block groups to copy for device-replaceNaohiro Aota1-0/+16
2021-01-24block: store a block_device pointer in struct bioChristoph Hellwig1-1/+1
2020-12-09btrfs: scrub: allow scrub to work with subpage sectorsizeQu Wenruo1-8/+0
2020-12-09btrfs: scrub: support subpage data scrubQu Wenruo1-3/+7
2020-12-09btrfs: scrub: support subpage tree block scrubQu Wenruo1-4/+14
2020-12-09btrfs: scrub: always allocate one full page for one sector for RAID56Qu Wenruo1-5/+16
2020-12-09btrfs: scrub: reduce width of extent_len/stripe_len from 64 to 32 bitsQu Wenruo1-23/+31
2020-12-09btrfs: implement log-structured superblock for ZONED modeNaohiro Aota1-0/+3
2020-12-08btrfs: scrub: remove the anonymous structure from scrub_pageQu Wenruo1-5/+3
2020-12-08btrfs: remove unused argument seed from btrfs_find_deviceAnand Jain1-2/+2
2020-12-08btrfs: scrub: refactor scrub_find_csum()Qu Wenruo1-20/+47
2020-12-08btrfs: scrub: remove the force parameter from scrub_pagesQu Wenruo1-5/+5
2020-12-08btrfs: scrub: distinguish scrub page from regular pageQu Wenruo1-51/+51
2020-12-08btrfs: scrub: remove local copy of csum_size from contextDavid Sterba1-10/+9
2020-12-08btrfs: use cached value of fs_info::csum_size everywhereDavid Sterba1-1/+1
2020-12-08btrfs: use precalculated sectorsize_bits from fs_infoDavid Sterba1-6/+6
2020-12-08btrfs: do not start readahead for csum tree when scrubbing non-data block groupsFilipe Manana1-8/+12
2020-11-05btrfs: scrub: update message regarding read-only statusDavid Sterba1-2/+3
2020-10-07btrfs: scrub: rename ratelimit state varaible to avoid shadowingDavid Sterba1-4/+4
2020-08-27btrfs: allocate scrub workqueues outside of locksJosef Bacik1-52/+70
2020-07-27btrfs: return EROFS for BTRFS_FS_STATE_ERROR casesJosef Bacik1-1/+1
2020-07-27btrfs: scrub: clean up temporary page variables in scrub_checksum_tree_blockDavid Sterba1-6/+6
2020-07-27btrfs: scrub: simplify tree block checksum calculationDavid Sterba1-24/+9
2020-07-27btrfs: scrub: clean up temporary page variables in scrub_checksum_dataDavid Sterba1-7/+5
2020-07-27btrfs: scrub: simplify data block checksum calculationDavid Sterba1-21/+3
2020-07-27btrfs: scrub: clean up temporary page variables in scrub_checksum_superDavid Sterba1-8/+8
2020-07-27btrfs: scrub: remove temporary csum array in scrub_checksum_superDavid Sterba1-3/+1
2020-07-27btrfs: scrub: simplify superblock checksum calculationDavid Sterba1-27/+4
2020-07-27btrfs: scrub: unify naming of page address variablesDavid Sterba1-16/+16
2020-07-27btrfs: scrub: remove kmap/kunmap of pagesDavid Sterba1-15/+8
2020-05-25btrfs: simplify root lookup by idDavid Sterba1-5/+1
2020-05-25btrfs: scrub, only lookup for csums if we are dealing with a data extentFilipe Manana1-7/+8
2020-05-25btrfs: rename member 'trimming' of block group to a more generic nameFilipe Manana1-3/+3
2020-05-25btrfs: fix a race between scrub and block group removal/allocationFilipe Manana1-2/+36
2020-03-23btrfs: scrub: Replace zero-length array with flexible-array memberGustavo A. R. Silva1-1/+1
2020-03-23btrfs: rename btrfs_put_fs_root and btrfs_grab_fs_rootJosef Bacik1-3/+3
2020-03-23btrfs: push btrfs_grab_fs_root into btrfs_get_fs_rootJosef Bacik1-4/+0
2020-03-23btrfs: hold a ref on the root in scrub_print_warning_inodeJosef Bacik1-0/+7
2020-03-23btrfs: open code btrfs_read_fs_root_no_nameJosef Bacik1-1/+1
2020-01-28Merge tag 'for-5.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdav...Linus Torvalds1-1/+6
2020-01-24btrfs: scrub: Require mandatory block group RO for dev-replaceQu Wenruo1-5/+28
2020-01-20btrfs: handle empty block_group removal for async discardDennis Zhou1-1/+6
2019-11-18Btrfs: fix block group remaining RO forever after error during device replaceFilipe Manana1-39/+0
2019-11-18btrfs: scrub: Don't check free space before marking a block group ROQu Wenruo1-1/+20
2019-11-18btrfs: rename btrfs_block_group_cacheDavid Sterba1-6/+5
2019-11-18btrfs: clean up locking name in scrub_enumerate_chunks()Dan Carpenter1-3/+3
2019-11-18btrfs: add dedicated members for start and length of a block groupDavid Sterba1-4/+4
2019-11-18btrfs: move block_group_item::used to block groupDavid Sterba1-1/+1
2019-11-18btrfs: get rid of unique workqueue helper functionsOmar Sandoval1-8/+6
2019-11-18btrfs: don't prematurely free work in scrub_missing_raid56_worker()Omar Sandoval1-2/+1