aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/raid5.c
AgeCommit message (Expand)AuthorFilesLines
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
2020-05-13raid5: remove gfp flags from scribble_alloc()Coly Li1-6/+9
2020-01-13raid5: remove worker_cnt_per_group argument from alloc_thread_groupsGuoqing Jiang1-14/+7
2019-12-11raid5: need to set STRIPE_HANDLE for batch headGuoqing Jiang1-1/+1
2019-11-14drivers/md/raid5.c: use the new spelling of RWH_WRITE_LIFE_NOT_SETEugene Syromiatnikov1-2/+2
2019-10-24md: improve handling of bio with REQ_PREFLUSH in md_flush_request()David Jeffery1-2/+2
2019-09-13raid5: remove STRIPE_OPS_REQ_PENDINGGuoqing Jiang1-1/+0
2019-09-13raid5: don't set STRIPE_HANDLE to stripe which is in batch listGuoqing Jiang1-1/+2
2019-09-13raid5: don't increment read_errors on EILSEQ returnNigel Croxon1-1/+2
2019-09-03md/raid5: use bio_end_sector to calculate last_sectorGuoqing Jiang1-1/+1
2019-08-27raid5 improve too many read errors msg by adding limitsNigel Croxon1-4/+10
2019-08-07md/raid6: Set R5_ReadError when there is read failure on parity diskXiao Ni1-1/+3
2019-06-20block: remove the bi_phys_segments field in struct bioChristoph Hellwig1-1/+0
2019-06-15raid5-cache: Need to do start() part job after adding journal deviceXiao Ni1-2/+9
2019-05-24treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 47Thomas Gleixner1-9/+1
2019-04-16md/raid: raid5 preserve the writeback action after the parity checkNigel Croxon1-1/+9
2019-04-16Revert "Don't jump to compute_result state from check_result state"Song Liu1-4/+15
2019-04-10md: add __acquires/__releases annotations to handle_active_stripesChristoph Hellwig1-0/+2
2019-04-10md: add __acquires/__releases annotations to (un)lock_two_stripesChristoph Hellwig1-0/+4
2019-04-01Don't jump to compute_result state from check_result stateNigel Croxon1-15/+4
2019-03-16Merge tag 'for-5.1/block-post-20190315' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+3
2019-03-12md: Fix failed allocation of md_register_threadAditya Pakki1-0/+2
2019-03-12raid5: set write hint for PPLMariusz Dabrowski1-0/+1
2019-03-12md: convert to kvmallocKent Overstreet1-48/+39
2019-01-28md/raid5: fix 'out of memory' during raid cache recoveryAlexei Naberezhnov1-2/+6
2018-09-28raid5: block failing device if raid will be failedMariusz Tkaczyk1-0/+12
2018-08-31md/raid5-cache: disable reshape completelyShaohua Li1-3/+3
2018-08-18Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dto...Linus Torvalds1-22/+22
2018-08-02md/raid5: fix data corruption of replacements after originals droppedBingJing Chang1-0/+6
2018-08-01md: Avoid namespace collision with bitmap APIAndy Shevchenko1-22/+22
2018-07-23drivers/md/raid5: Do not disable irq on release_inactive_stripe_list() callAnna-Maria Gleixner1-2/+1
2018-07-18drivers/md/raid5: Use irqsave variant of atomic_dec_and_lock()Anna-Maria Gleixner1-3/+2
2018-06-12treewide: kzalloc() -> kcalloc()Kees Cook1-7/+8
2018-06-09Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/mdLinus Torvalds1-3/+9
2018-05-30md: convert to bioset_init()/mempool_init()Kent Overstreet1-6/+6
2018-05-17md/raid5: Assigning NULL to sh->batch_head before testing bit R5_Overlap of a...Amy Chiang1-3/+3
2018-05-17raid5: copy write hint from origin bio to stripeMariusz Dabrowski1-0/+6
2018-04-05Merge tag 'for-4.17/block-20180402' of git://git.kernel.dk/linux-blockLinus Torvalds1-2/+2
2018-03-08block: Use blk_queue_flag_*() in drivers instead of queue_flag_*()Bart Van Assche1-2/+2
2018-02-25md: fix a potential deadlock of raid5/raid10 reshapeBingJing Chang1-7/+1
2018-02-21md: raid5: avoid string overflow warningArnd Bergmann1-3/+4
2018-02-17md/raid5: simplify uninitialization of shrinkerAliaksei Karaliou1-3/+1
2018-01-15raid5-ppl: PPL support for disks with write-back cache enabledTomasz Majchrzak1-3/+3
2017-12-11md: introduce new personality funciton start()Song Liu1-0/+10
2017-12-01md/raid5: correct degraded calculation in raid5_errorbingjingc1-1/+1
2017-11-14Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/mdLinus Torvalds1-37/+42
2017-11-09md: be cautious about using ->curr_resync_completed for ->recovery_offsetNeilBrown1-0/+24
2017-11-01md: use TASK_IDLE instead of blocking signalsMikulas Patocka1-1/+0
2017-11-01md: remove special meaning of ->quiesce(.., 2)NeilBrown1-12/+6