aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/raid5.c
AgeCommit message (Expand)AuthorFilesLines
2025-10-02Merge tag 'for-6.18/block-20250929' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-27/+47
2025-09-17md: init queue_limits->max_hw_wzeroes_unmap_sectors parameterZhang Yi1-0/+1
2025-09-10md/raid5: convert to use bio_submit_split_bioset()Yu Kuai1-6/+4
2025-09-10md: fix mssing blktrace bio split eventsYu Kuai1-0/+2
2025-09-06md: add a new recovery_flag MD_RECOVERY_LAZY_RECOVERYu Kuai1-4/+15
2025-09-06md/md-bitmap: add a new method blocks_synced() in bitmap_operationsYu Kuai1-4/+11
2025-09-06md/raid5: check before referencing mddev->bitmap_opsYu Kuai1-7/+12
2025-09-06md/md-bitmap: handle the case bitmap is not enabled before end_sync()Yu Kuai1-2/+2
2025-09-06md/md-bitmap: handle the case bitmap is not enabled before start_sync()Yu Kuai1-5/+2
2025-09-06md/md-bitmap: remove the parameter 'init' for bitmap_ops->resize()Yu Kuai1-1/+1
2025-07-31md: rename recovery_cp to resync_offsetLi Nan1-15/+15
2025-07-12md/raid5: unset WQ_CPU_INTENSIVE for raid5 unbound workqueueRyo Takakura1-1/+1
2025-05-10md: clean up accounting for issued sync IOYu Kuai1-8/+0
2025-03-05md/raid5: merge reshape_progress checking inside get_reshape_loc()Yu Kuai1-11/+10
2025-03-05md: switch personalities to use md_submodule_headYu Kuai1-20/+50
2025-01-13md/md-bitmap: move bitmap_{start, end}write to md upper layerYu Kuai1-44/+6
2025-01-13md/raid5: implement pers->bitmap_sector()Yu Kuai1-0/+51
2025-01-13md/md-bitmap: remove the last parameter for bimtap_ops->endwrite()Yu Kuai1-12/+3
2025-01-13md/md-bitmap: factor behind write counters out from bitmap_{start/end}write()Yu Kuai1-6/+5
2024-11-07md/raid5: Wait sync io to finish before changing group cntXiao Ni1-0/+4
2024-11-05md/raid5: don't set Faulty rdev for blocked_rdevYu Kuai1-7/+6
2024-08-29md/raid5: rename wait_for_overlap to wait_for_reshapeArtur Paszkiewicz1-13/+13
2024-08-29md/raid5: only add to wq if reshape is in progressArtur Paszkiewicz1-3/+10
2024-08-29md/raid5: use wait_on_bit() for R5_OverlapArtur Paszkiewicz1-31/+29
2024-08-27md/md-bitmap: merge md_bitmap_resize() into bitmap_operationsYu Kuai1-1/+1
2024-08-27md/md-bitmap: pass in mddev directly for md_bitmap_resize()Yu Kuai1-5/+6
2024-08-27md/md-bitmap: merge bitmap_unplug() into bitmap_operationsYu Kuai1-1/+1
2024-08-27md/md-bitmap: merge md_bitmap_unplug_async() into md_bitmap_unplug()Yu Kuai1-1/+1
2024-08-27md/md-bitmap: merge md_bitmap_cond_end_sync() into bitmap_operationsYu Kuai1-1/+1
2024-08-27md/md-bitmap: merge md_bitmap_close_sync() into bitmap_operationsYu Kuai1-1/+1
2024-08-27md/md-bitmap: merge md_bitmap_end_sync() into bitmap_operationsYu Kuai1-2/+2
2024-08-27md/md-bitmap: remove the parameter 'aborted' for md_bitmap_end_sync()Yu Kuai1-1/+1
2024-08-27md/md-bitmap: merge md_bitmap_start_sync() into bitmap_operationsYu Kuai1-4/+6
2024-08-27md/md-bitmap: merge md_bitmap_endwrite() into bitmap_operationsYu Kuai1-8/+10
2024-08-27md/md-bitmap: merge md_bitmap_startwrite() into bitmap_operationsYu Kuai1-8/+5
2024-07-04md/raid5: recheck if reshape has finished with device_lock heldBenjamin Marzinski1-23/+41
2024-07-04md/raid5: fix spares errors about rcu usageYu Kuai1-7/+5
2024-06-26md: set md-specific flags for all queue limitsChristoph Hellwig1-1/+1
2024-06-20Merge branch 'for-6.11/block-limits' into for-6.11/blockJens Axboe1-1/+1
2024-06-20block: move the raid_partial_stripes_expensive flag into the features fieldChristoph Hellwig1-1/+1
2024-06-19Merge branch 'for-6.11/block-limits' into for-6.11/blockJens Axboe1-2/+4
2024-06-19block: move the stable_writes flag to queue_limitsChristoph Hellwig1-2/+4
2024-06-14Merge branch 'for-6.11/block-limits' into for-6.11/blockJens Axboe1-1/+1
2024-06-14block: move integrity information into queue_limitsChristoph Hellwig1-1/+1
2024-06-12md/raid5: avoid BUG_ON() while continue reshape after reassemblingYu Kuai1-7/+13
2024-06-12md: pass in max_sectors for pers->sync_request()Yu Kuai1-2/+1
2024-06-10md: change the return value type of md_write_start to voidLi Nan1-2/+1
2024-04-08md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PE...Yu Kuai1-12/+3
2024-03-11Merge tag 'for-6.9/block-20240310' of git://git.kernel.dk/linuxLinus Torvalds1-125/+148
2024-03-06md: remove mddev->queueChristoph Hellwig1-6/+7
2024-03-06md/raid5: use the atomic queue limit update APIsChristoph Hellwig1-65/+65
2024-03-06md: add a mddev_is_dm helperChristoph Hellwig1-11/+10
2024-03-06md: add a mddev_add_trace_msg helperChristoph Hellwig1-7/+7
2024-03-06md: add a mddev_trace_remap helperChristoph Hellwig1-11/+3
2024-03-05Merge branch 'dmraid-fix-6.9' into md-6.9Song Liu1-2/+30
2024-03-05dm-raid456, md/raid456: fix a deadlock for dm-raid456 while io concurrent wit...Yu Kuai1-2/+30
2024-03-05Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d""Song Liu1-0/+12
2024-02-29md: add a new helper rdev_has_badblock()Yu Kuai1-22/+13
2024-02-27md/raid5: fix atomicity violation in raid5_cache_countGui-Dong Han1-6/+8
2024-02-15md: Don't register sync_thread for reshape directlyYu Kuai1-27/+2
2024-02-05md: remove redundant check of 'mddev->sync_thread'Yu Kuai1-4/+2
2024-01-11Merge tag 'for-6.8/block-2024-01-08' of git://git.kernel.dk/linuxLinus Torvalds1-142/+61
2023-12-01md/raid6: use valid sector values to determine if an I/O should wait on the r...David Jeffery1-2/+2
2023-11-27md/raid5: remove rcu protection to access rdev from confYu Kuai1-121/+61
2023-11-27md: remove flag RemoveSynchronizedYu Kuai1-9/+0
2023-11-27Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"Junxiao Bi1-12/+0
2023-11-02Merge tag 'mm-stable-2023-11-01-14-33' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-11/+15
2023-11-01Merge tag 'for-6.7/block-2023-10-30' of git://git.kernel.dk/linuxLinus Torvalds1-81/+22
2023-10-18md: cleanup pers->prepare_suspend()Yu Kuai1-43/+1
2023-10-10md/raid5: replace suspend with quiesce() callbackYu Kuai1-9/+9
2023-10-10md/raid5: use new apis to suspend arrayYu Kuai1-26/+12
2023-10-04md/raid5: dynamically allocate the md-raid5 shrinkerQi Zheng1-11/+15
2023-10-03md/raid5: release batch_last before waiting for another stripe_headDavid Jeffery1-0/+7
2023-09-22md: initialize 'writes_pending' while allocating mddevYu Kuai1-3/+0
2023-08-15md: Hold mddev->reconfig_mutex when trying to get mddev->sync_threadLi Lingfeng1-1/+1
2023-07-27raid5: fix missing io accounting in raid5_align_endio()Yu Kuai1-21/+8
2023-07-27md: also clone new io if io accounting is disabledYu Kuai1-9/+9
2023-07-27md: move initialization and destruction of 'io_acct_set' to md.cYu Kuai1-30/+11
2023-06-27Merge tag 'hardening-v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-2/+2
2023-06-26Merge tag 'for-6.5/block-2023-06-23' of git://git.kernel.dk/linuxLinus Torvalds1-8/+60
2023-06-13md/raid5: don't start reshape when recovery or replace is in progressYu Kuai1-0/+8
2023-06-13md: protect md_thread with rcuYu Kuai1-7/+8
2023-06-13md/raid5: fix a deadlock in the case that reshape is interruptedYu Kuai1-1/+43
2023-06-13md/raid5: don't allow replacement while reshape is in progressYu Kuai1-0/+1
2023-05-30md/raid5: Convert stripe_head's "dev" to flexible array memberKees Cook1-2/+2
2023-05-24md/raid5: fix miscalculation of 'end_sector' in raid5_read_one_chunk()Yu Kuai1-1/+1
2023-04-28md/raid5: Improve performance for sequential IOJan Kara1-1/+44
2023-04-14md/raid5: remove unused working_disks variableTom Rix1-4/+1
2022-09-22md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5dLogan Gunthorpe1-0/+12
2022-09-22md/raid5: Remove unnecessary bio_put() in raid5_read_one_chunk()David Sloan1-1/+0
2022-09-22md/raid5: Ensure stripe_fill happens on non-read IO with journalLogan Gunthorpe1-1/+1
2022-09-22md/raid5: Don't read ->active_stripes if it's not neededLogan Gunthorpe1-3/+2
2022-09-22md/raid5: Cleanup prototype of raid5_get_active_stripe()Logan Gunthorpe1-23/+26
2022-09-22md/raid5: Refactor raid5_get_active_stripe()Logan Gunthorpe1-41/+41
2022-08-05Merge tag 'mm-stable-2022-08-03' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+1
2022-08-02drivers:md:fix a potential use-after-free bugWentao_Liang1-1/+1
2022-08-02md/raid5: Ensure batch_last is released before sleeping for quiesceLogan Gunthorpe1-8/+28
2022-08-02md/raid5: Move stripe_request_ctx upLogan Gunthorpe1-27/+27
2022-08-02md/raid5: Drop unnecessary call to r5c_check_stripe_cache_usage()Logan Gunthorpe1-1/+0
2022-08-02md/raid5: Make is_inactive_blocked() helperLogan Gunthorpe1-5/+19
2022-08-02md/raid5: Refactor raid5_get_active_stripe()Logan Gunthorpe1-31/+36
2022-08-02raid5: fix duplicate checks for rdev->saved_raid_diskJackie Liu1-2/+1
2022-08-02md/raid5: Convert prepare_to_wait() to wait_woken() apiLogan Gunthorpe1-7/+6
2022-08-02md/raid5: Fix sectors_to_do bitmap overflow in raid5_make_request()Logan Gunthorpe1-8/+11
2022-08-02md/raid5: Increase restriction on max segments per requestLogan Gunthorpe1-0/+3
2022-08-02md/raid5: Improve debug printsLogan Gunthorpe1-2/+6
2022-08-02md/raid5: Pivot raid5_make_request()Logan Gunthorpe1-6/+83
2022-08-02md/raid5: Check all disks in a stripe_head for reshape progressLogan Gunthorpe1-14/+39
2022-08-02md/raid5: Refactor add_stripe_bio()Logan Gunthorpe1-30/+56
2022-08-02md/raid5: Keep a reference to last stripe_head for batchLogan Gunthorpe1-12/+40
2022-08-02md/raid5: Refactor for loop in raid5_make_request() into while loopLogan Gunthorpe1-4/+5
2022-08-02md/raid5: Move read_seqcount_begin() into make_stripe_request()Logan Gunthorpe1-7/+5
2022-08-02md/raid5: Drop the do_prepare flag in raid5_make_request()Logan Gunthorpe1-6/+2
2022-08-02md/raid5: Factor out helper from raid5_make_request() loopLogan Gunthorpe1-98/+133
2022-08-02md/raid5: Move common stripe get code into new find_get_stripe() helperLogan Gunthorpe1-67/+64
2022-08-02md/raid5: Move stripe_add_to_batch_list() call out of add_stripe_bio()Logan Gunthorpe1-2/+3
2022-08-02md/raid5: Refactor raid5_make_request loopLogan Gunthorpe1-54/+55
2022-08-02md/raid5: Factor out ahead_of_reshape() functionLogan Gunthorpe1-12/+15
2022-08-02md/raid5: Make logic blocking check consistent with logic that blocksLogan Gunthorpe1-1/+1
2022-08-02md/raid5: suspend the array for calls to log_exit()Logan Gunthorpe1-1/+4
2022-08-02Merge tag 'for-5.20/block-2022-07-29' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+2
2022-07-22Merge tag 'block-5.19-2022-07-21' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+3
2022-07-19md/raid5: missing error code in setup_conf()Dan Carpenter1-1/+3
2022-07-14md/raid5: Use the enum req_op and blk_opf_t typesBart Van Assche1-1/+2
2022-07-03mm: shrinkers: provide shrinkers with namesRoman Gushchin1-1/+1
2022-06-29dm raid: fix KASAN warning in raid5_add_disksMikulas Patocka1-0/+1
2022-06-29dm raid: fix KASAN warning in raid5_remove_diskMikulas Patocka1-1/+4
2022-05-22md: remove most calls to bdevnameChristoph Hellwig1-21/+16
2022-05-03raid5: don't set the discard_alignment queue limitChristoph Hellwig1-1/+0
2022-04-25md/raid5: Annotate functions that hold device_lock with __must_holdLogan Gunthorpe1-5/+17
2022-04-25md/raid5: Annotate rdev/replacement access when mddev_lock is heldLogan Gunthorpe1-22/+43
2022-04-25md/raid5: Annotate rdev/replacement accesses when nr_pending is elevatedLogan Gunthorpe1-9/+19
2022-04-25md/raid5: Add __rcu annotation to struct disk_infoLogan Gunthorpe1-20/+26
2022-04-25md/raid5: Cleanup setup_conf() error returnsLogan Gunthorpe1-7/+11
2022-04-25raid5: introduce MD_BROKENMariusz Tkaczyk1-25/+22
2022-04-17block: remove QUEUE_FLAG_DISCARDChristoph Hellwig1-8/+4
2022-04-17block: add a bdev_nonrot helperChristoph Hellwig1-1/+1
2022-03-26Merge tag 'for-5.18/write-streams-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-6/+0
2022-03-24Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-1/+0
2022-03-08raid5: initialize the stripe_head embeeded bios as neededChristoph Hellwig1-17/+8
2022-03-07block: remove the per-bio/request write hintChristoph Hellwig1-6/+0
2022-02-22scsi: md: Remove WRITE_SAME supportChristoph Hellwig1-1/+0
2022-02-04block: pass a block_device to bio_clone_fastChristoph Hellwig1-2/+2
2022-02-02block: pass a block_device and opf to bio_resetChristoph Hellwig1-4/+4
2022-02-02block: pass a block_device and opf to bio_initChristoph Hellwig1-2/+2
2022-01-06md: Move alloc/free acct bioset in to personalityXiao Ni1-11/+30
2022-01-06md: raid456 add nowait supportVishal Verma1-0/+15
2022-01-06md/raid5: play nice with PREEMPT_RTDavidlohr Bueso1-5/+6
2021-10-18md: remove unused argument from md_new_eventGuoqing Jiang1-1/+1
2021-10-18md/raid5: call roundup_pow_of_two in raid5_runGuoqing Jiang1-4/+1
2021-08-28md/raid5: Replace deprecated CPU-hotplug functions.Sebastian Andrzej Siewior1-2/+2
2021-06-30Merge tag 'for-5.14/drivers-2021-06-29' of git://git.kernel.dk/linux-blockLinus Torvalds1-18/+45
2021-06-14md/raid5: avoid device_lock in read_one_chunk()Gal Ofri1-6/+23
2021-06-14md: Constify attribute_group structsRikard Falkeborn1-1/+1
2021-06-14md/raid5: avoid redundant bio clone in raid5_read_one_chunkGuoqing Jiang1-14/+15
2021-06-14md/raid5: move checking badblock before clone bio in raid5_read_one_chunkGuoqing Jiang1-7/+7
2021-06-14md: add io accounting for raid0 and raid5Guoqing Jiang1-0/+9
2021-05-25md/raid5: remove an incorrect assert in in_chunk_boundaryChristoph Hellwig1-2/+0
2021-04-08treewide: Change list_sort to use const pointersSami Tolvanen1-1/+2
2021-02-21Merge tag 'for-5.12/drivers-2021-02-17' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2021-02-03md/raid5: cast chunk_sectors to sector_t valueGuoqing Jiang1-1/+1
2021-01-27md/raid6: refactor raid5_read_one_chunkChristoph Hellwig1-63/+45
2021-01-24block: store a block_device pointer in struct bioChristoph Hellwig1-1/+1
2020-12-04block: remove the request_queue argument to the block_bio_remap tracepointChristoph Hellwig1-8/+7
2020-10-08md/raid5: fix oops during stripe resizingSong Liu1-2/+2
2020-09-24md/raid5: reallocate page array after setting new stripe_sizeYufen Yu1-0/+20
2020-09-24md/raid5: resize stripe_head when reshape arrayYufen Yu1-0/+24
2020-09-24md/raid5: let multiple devices of stripe_head share pageYufen Yu1-2/+87
2020-09-24md/raid6: let async recovery function support different page offsetYufen Yu1-2/+2
2020-09-24md/raid6: let syndrome computor support different page offsetYufen Yu1-12/+24
2020-09-24md/raid5: convert to new xor compution interfaceYufen Yu1-9/+34
2020-09-24md/raid5: make async_copy_data() to support different page offsetYufen Yu1-3/+5
2020-09-24md/raid5: add a new member of offset into r5devYufen Yu1-11/+39
2020-09-24bdi: replace BDI_CAP_STABLE_WRITES with a queue and a sb flagChristoph Hellwig1-4/+4
2020-09-24block: lift setting the readahead size into the block layerChristoph Hellwig1-12/+1
2020-09-24md: update the optimal I/O size on reshapeChristoph Hellwig1-2/+8
2020-08-28Merge tag 'block-5.9-2020-08-28' of git://git.kernel.dk/linux-blockLinus Torvalds1-2/+5
2020-08-27md/raid5: make sure stripe_size as power of twoYufen Yu1-2/+5
2020-08-23treewide: Use fallthrough pseudo-keywordGustavo A. R. Silva1-2/+2
2020-08-10Merge tag 'locking-urgent-2020-08-10' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-1/+1
2020-08-05Merge tag 'for-5.9/drivers-20200803' of git://git.kernel.dk/linux-blockLinus Torvalds1-140/+246
2020-08-04Merge tag 'uninit-macro-v5.9-rc1' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-1/+1
2020-08-02md/raid5: Allow degraded raid6 to do rmwChangSyun Peng1-6/+16
2020-08-02md/raid5: Fix Force reconstruct-write io stuck in degraded raid5ChangSyun Peng1-1/+2
2020-08-02raid5: don't duplicate code for different paths in handle_stripeGuoqing Jiang1-6/+3
2020-08-02md/raid5: remove the redundant setting of STRIPE_HANDLEGuoqing Jiang1-6/+2
2020-07-29raid5: Use sequence counter with associated spinlockAhmed S. Darwish1-1/+1
2020-07-22md/raid5: use do_div() for 64 bit divisions in raid5_sync_requestYufen Yu1-1/+1
2020-07-21md/raid5: support config stripe_size by sysfs entryYufen Yu1-0/+72
2020-07-21md/raid5: set default stripe_size as 4096Yufen Yu1-0/+5
2020-07-21md/raid456: convert macro STRIPE_* to RAID5_STRIPE_*Yufen Yu1-102/+123
2020-07-16treewide: Remove uninitialized_var() usageKees Cook1-1/+1
2020-07-16raid5: remove the meaningless check in raid5_make_requestGuoqing Jiang1-2/+1
2020-07-16raid5: put the comment of clear_batch_ready to the right placeGuoqing Jiang1-4/+4
2020-07-16raid5: call clear_batch_ready before set STRIPE_ACTIVEGuoqing Jiang1-5/+10
2020-07-15md: raid5: Fix compilation warningDamien Le Moal1-6/+6
2020-07-14md: fix deadlock causing by sysfs_notifyJunxiao Bi1-3/+3
2020-07-08writeback: remove bdi->congested_fnChristoph Hellwig1-25/+0
2020-07-01block: rename generic_make_request to submit_bio_noacctChristoph Hellwig1-5/+5
2020-05-13raid5: update code comment of scribble_alloc()Coly Li1-2/+5