aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
AgeCommit message (Expand)AuthorFilesLines
14 daysmd: Revert "md: Fix overflow in is_mddev_idle"Li Nan1-4/+3
2024-04-08md: don't account sync_io if iostats of the disk is disabledLi Nan1-0/+4
2024-04-08md: Fix overflow in is_mddev_idleLi Nan1-3/+4
2024-04-08md: add check for sleepers in md_wakeup_thread()Florian-Ewald Mueller1-1/+2
2024-03-11Merge tag 'for-6.9/block-20240310' of git://git.kernel.dk/linuxLinus Torvalds1-168/+232
2024-03-11Merge tag 'vfs-6.9.super' of git://git.kernel.org/pub/scm/linux/kernel/git/vf...Linus Torvalds1-6/+6
2024-03-06md: remove mddev->queueChristoph Hellwig1-10/+12
2024-03-06md: don't initialize queue limitsChristoph Hellwig1-2/+0
2024-03-06md: add queue limit helpersChristoph Hellwig1-0/+45
2024-03-06md: add a mddev_is_dm helperChristoph Hellwig1-8/+7
2024-03-06md: add a mddev_add_trace_msg helperChristoph Hellwig1-2/+1
2024-03-06md: add a mddev_trace_remap helperChristoph Hellwig1-5/+1
2024-03-05dm-raid456, md/raid456: fix a deadlock for dm-raid456 while io concurrent wit...Yu Kuai1-2/+22
2024-03-05dm-raid: really frozen sync_thread during suspendYu Kuai1-1/+2
2024-03-05md: export helper md_is_rdwr()Yu Kuai1-12/+0
2024-03-05md: export helpers to stop sync_threadYu Kuai1-0/+29
2024-03-05md: don't clear MD_RECOVERY_FROZEN for new dm-raid until resumeYu Kuai1-1/+4
2024-02-26md: check mddev->pers before calling md_set_readonly()Li Nan1-11/+11
2024-02-26md: clean up openers check in do_md_stop() and md_set_readonly()Li Nan1-23/+14
2024-02-26md: sync blockdev before stopping raid or setting readonlyLi Nan1-0/+16
2024-02-26md: factor out a helper to sync mddevLi Nan1-11/+21
2024-02-26md: Don't clear MD_CLOSING when the raid is about to stopLi Nan1-4/+10
2024-02-26md: return directly before setting did_set_md_closingLi Nan1-17/+8
2024-02-26md: clean up invalid BUG_ON in md_ioctlLi Nan1-5/+0
2024-02-26md: changed the switch of RAID_VERSION to ifLi Nan1-6/+2
2024-02-26md: merge the check of capabilities into md_ioctl_valid()Li Nan1-18/+12
2024-02-25md: port block device access to fileChristian Brauner1-6/+6
2024-02-19block: pass a queue_limits argument to blk_alloc_diskChristoph Hellwig1-3/+4
2024-02-15md: Don't suspend the array for interrupted reshapeYu Kuai1-4/+9
2024-02-15md: Don't register sync_thread for reshape directlyYu Kuai1-1/+4
2024-02-15md: Make sure md_do_sync() will set MD_RECOVERY_DONEYu Kuai1-4/+8
2024-02-15md: Don't ignore read-only array in md_check_recovery()Yu Kuai1-13/+18
2024-02-15md: Don't ignore suspended array in md_check_recovery()Yu Kuai1-3/+0
2024-02-12md: fix kmemleak of rdev->serialLi Nan1-0/+1
2024-02-07md: Fix missing release of 'active_io' for flushYu Kuai1-1/+5
2024-02-05md: use RCU lock to protect traversal in md_spares_need_change()Li Lingfeng1-2/+7
2024-02-05md: get rdev->mddev with READ_ONCE()Li Lingfeng1-2/+2
2024-02-05md: remove redundant md_wakeup_thread()Yu Kuai1-18/+2
2024-02-05md: remove redundant check of 'mddev->sync_thread'Yu Kuai1-10/+4
2024-01-18Merge tag 'for-6.8/block-2024-01-18' of git://git.kernel.dk/linuxLinus Torvalds1-13/+27
2024-01-11Merge tag 'for-6.8/block-2024-01-08' of git://git.kernel.dk/linuxLinus Torvalds1-155/+150
2024-01-09md: Fix md_seq_ops() regressionsYu Kuai1-13/+27
2023-12-19md: Remove deprecated CONFIG_MD_MULTIPATHSong Liu1-133/+108
2023-12-19md: Remove deprecated CONFIG_MD_LINEARSong Liu1-1/+1
2023-12-18dm-raid: delay flushing event_work() after reconfig_mutex is releasedYu Kuai1-3/+8
2023-12-15md: Whenassemble the array, consult the superblock of the freshest deviceAlex Lyakas1-10/+44
2023-12-07md: split MD_RECOVERY_NEEDED out of mddev_resumeYu Kuai1-4/+26
2023-12-06md: fix stopping sync threadYu Kuai1-53/+37
2023-12-06md: don't leave 'MD_RECOVERY_FROZEN' in error path of md_set_readonly()Yu Kuai1-11/+13
2023-12-06md: fix missing flush of sync_workYu Kuai1-2/+2
2023-12-01md: synchronize flush io with array reconfigurationYu Kuai1-6/+16
2023-11-27md: remove flag RemoveSynchronizedYu Kuai1-31/+6
2023-11-27md: bypass block throttle for superblock updateJunxiao Bi1-3/+4
2023-11-19md: fix bi_status reporting in md_end_clone_ioSong Liu1-1/+2
2023-11-01Merge tag 'sysctl-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/m...Linus Torvalds1-1/+0
2023-11-01Merge tag 'for-6.7/block-2023-10-30' of git://git.kernel.dk/linuxLinus Torvalds1-357/+465
2023-10-28md: Convert to bdev_open_by_dev()Jan Kara1-15/+8
2023-10-18md: cleanup pers->prepare_suspend()Yu Kuai1-1/+16
2023-10-11raid: Remove now superfluous sentinel element from ctl_table arrayJoel Granados1-1/+0
2023-10-10md: rename __mddev_suspend/resume() back to mddev_suspend/resume()Yu Kuai1-9/+9
2023-10-10md: remove old apis to suspend the arrayYu Kuai1-79/+3
2023-10-10md: suspend array in md_start_sync() if array need reconfigurationYu Kuai1-3/+8
2023-10-10md: cleanup mddev_create/destroy_serial_pool()Yu Kuai1-23/+10
2023-10-10md: use new apis to suspend array before mddev_create/destroy_serial_poolYu Kuai1-10/+12
2023-10-10md: use new apis to suspend array for ioctls involed array reconfigurationYu Kuai1-10/+20
2023-10-10md: use new apis to suspend array for adding/removing rdev from state_store()Yu Kuai1-8/+11
2023-10-10md: use new apis to suspend array for sysfs apisYu Kuai1-16/+8
2023-10-10md: add new helpers to suspend/resume arrayYu Kuai1-2/+100
2023-10-10md: replace is_md_suspended() with 'mddev->suspended' in md_check_recovery()Yu Kuai1-1/+1
2023-10-10md: use READ_ONCE/WRITE_ONCE for 'suspend_lo' and 'suspend_hi'Yu Kuai1-7/+9
2023-09-28md: do not require mddev_lock() for all options in array_state_store()Mariusz Tkaczyk1-17/+20
2023-09-27md: simplify md_seq_opsYu Kuai1-78/+22
2023-09-27md: factor out a helper from mddev_put()Yu Kuai1-12/+17
2023-09-25md: replace deprecated strncpy with memcpyJustin Stitt1-3/+3
2023-09-22md: don't check 'mddev->pers' and 'pers->quiesce' from suspend_lo_store()Yu Kuai1-7/+2
2023-09-22md: don't check 'mddev->pers' from suspend_hi_store()Yu Kuai1-6/+1
2023-09-22md: don't rely on 'mddev->pers' to be set in mddev_suspend()Yu Kuai1-1/+1
2023-09-22md: initialize 'writes_pending' while allocating mddevYu Kuai1-17/+12
2023-09-22md: initialize 'active_io' while allocating mddevYu Kuai1-20/+33
2023-09-22md: delay remove_and_add_spares() for read only array to md_start_sync()Yu Kuai1-10/+51
2023-09-22md: factor out a helper rdev_addable() from remove_and_add_spares()Yu Kuai1-12/+27
2023-09-22md: factor out a helper rdev_is_spare() from remove_and_add_spares()Yu Kuai1-5/+10
2023-09-22md: factor out a helper rdev_removeable() from remove_and_add_spares()Yu Kuai1-6/+38
2023-09-22md: delay choosing sync action to md_start_sync()Yu Kuai1-34/+39
2023-09-22md: factor out a helper to choose sync action from md_check_recovery()Yu Kuai1-25/+45
2023-09-22md: use separate work_struct for md_start_sync()Yu Kuai1-4/+6
2023-09-14md: Put the right device in md_seq_nextMariusz Tkaczyk1-1/+1
2023-09-08md: fix warning for holder mismatch from export_rdev()Yu Kuai1-3/+12
2023-09-08md: don't dereference mddev after export_rdev()Yu Kuai1-3/+3
2023-08-29Merge tag 'for-6.6/block-2023-08-28' of git://git.kernel.dk/linuxLinus Torvalds1-92/+136
2023-08-15md: Hold mddev->reconfig_mutex when trying to get mddev->sync_threadLi Lingfeng1-4/+5
2023-07-27md: restore 'noio_flag' for the last mddev_resume()Yu Kuai1-2/+4
2023-07-27md: don't quiesce in mddev_suspend()Yu Kuai1-2/+0
2023-07-27md: also clone new io if io accounting is disabledYu Kuai1-32/+31
2023-07-27md: move initialization and destruction of 'io_acct_set' to md.cYu Kuai1-17/+10
2023-07-27md: deprecate bitmap file supportChristoph Hellwig1-0/+2
2023-07-27md: make bitmap file support optionalChristoph Hellwig1-0/+7
2023-07-27md: enhance checking in md_check_recovery()Yu Kuai1-7/+15
2023-07-27md: wake up 'resync_wait' at last in md_reap_sync_thread()Yu Kuai1-1/+1
2023-07-27md: refactor idle/frozen_sync_thread() to fix deadlockYu Kuai1-4/+19
2023-07-27md: add a mutex to synchronize idle and frozen in action_store()Yu Kuai1-0/+5
2023-07-27md: refactor action_store() for 'idle' and 'frozen'Yu Kuai1-16/+45
2023-07-27Revert "md: unlock mddev before reap sync_thread in action_store"Yu Kuai1-17/+2
2023-07-25dm raid: protect md_stop() with 'reconfig_mutex'Yu Kuai1-0/+2
2023-06-23md: fix 'delete_mutex' deadlockYu Kuai1-19/+9
2023-06-23md: use mddev->external to select holder in export_rdev()Song Liu1-2/+2
2023-06-13md/md-bitmap: add a new helper to unplug bitmap asynchrouslyYu Kuai1-0/+9
2023-06-13md/raid10: clean up md_add_new_disk()Li Nan1-1/+0
2023-06-13md: protect md_thread with rcuYu Kuai1-37/+32
2023-06-13md: factor out a helper to wake up md_thread directlyYu Kuai1-8/+19
2023-06-13md: fix duplicate filename for rdevYu Kuai1-42/+44
2023-06-13md/raid10: fix wrong setting of max_corr_read_errorsLi Nan1-0/+2
2023-06-13md/raid10: fix overflow of md/safe_mode_delayLi Nan1-3/+4
2023-06-13md/raid5: fix a deadlock in the case that reshape is interruptedYu Kuai1-0/+1
2023-06-13md: add a new api prepare_suspend() in md_personalityYu Kuai1-0/+4
2023-06-13md: export md_is_rdwr() and is_md_suspended()Yu Kuai1-16/+0
2023-06-13md: fix data corruption for raid456 when reshape restart while grow upYu Kuai1-2/+12
2023-06-12block: replace fmode_t with a block-specific type for block open flagsChristoph Hellwig1-4/+4
2023-06-12block: use the holder as indication for exclusive opensChristoph Hellwig1-18/+20
2023-06-12block: remove the unused mode argument to ->releaseChristoph Hellwig1-1/+1
2023-06-12block: pass a gendisk to ->openChristoph Hellwig1-3/+3
2023-06-12block: pass a gendisk on bdev_check_media_changeChristoph Hellwig1-1/+1
2023-06-05block: introduce holder opsChristoph Hellwig1-1/+1
2023-05-31md: use __bio_add_page to add single pageJohannes Thumshirn1-2/+2
2023-04-27Merge tag 'sysctl-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/m...Linus Torvalds1-21/+1
2023-04-26Merge tag 'for-6.4/block-2023-04-21' of git://git.kernel.dk/linuxLinus Torvalds1-12/+15
2023-04-13md: fix soft lockup in status_resyncYu Kuai1-9/+9
2023-04-13md: add error_handlers for raid0 and linearMariusz Tkaczyk1-0/+3
2023-04-13md: make kobj_type structures constantThomas Weißschuh1-3/+3
2023-04-13md: simplify sysctl registrationLuis Chamberlain1-21/+1
2023-03-29md: fix regression for null-ptr-deference in __md_stop()Yu Kuai1-1/+2
2023-03-13md: avoid signed overflow in slot_store()NeilBrown1-0/+3
2023-03-13md: Free resources in __md_stopXiao Ni1-9/+5
2023-02-08md: account io_acct_set usage with active_ioXiao Ni1-0/+6
2023-02-01md: use MD_RESYNC_* whenever possibleHou Tao1-3/+3
2023-02-01md: Free writes_pending in md_stopXiao Ni1-0/+1
2023-02-01md: Change active_io to percpuXiao Ni1-19/+24
2023-02-01md: Factor out is_md_suspended helperXiao Ni1-5/+12
2023-02-01md: don't update recovery_cp when curr_resync is ACTIVEHou Tao1-1/+1
2023-01-12md: fix incorrect declaration about claim_rdev in md_import_deviceAdrian Huang1-2/+2
2023-01-04block: handle bio_split_to_limits() NULL returnJens Axboe1-0/+2
2022-12-02md: fold unbind_rdev_from_array into md_kick_rdev_from_arrayChristoph Hellwig1-21/+16
2022-12-02md: mark md_kick_rdev_from_array staticChristoph Hellwig1-2/+1
2022-12-02md: remove lock_bdev / unlock_bdevChristoph Hellwig1-41/+22
2022-11-14md: fix a crash in mempool_freeMikulas Patocka1-3/+6
2022-11-14md: introduce md_ro_stateYe Bin1-70/+82
2022-11-14md: factor out __md_set_array_info()Ye Bin1-30/+35
2022-10-07Merge tag 'for-6.1/block-2022-10-03' of git://git.kernel.dk/linuxLinus Torvalds1-3/+2
2022-09-27block: replace blk_queue_nowait with bdev_nowaitChristoph Hellwig1-2/+2
2022-09-22md: Remove extra mddev_get() in md_seq_start()Logan Gunthorpe1-1/+0
2022-08-24md: call __md_stop_writes in md_stopGuoqing Jiang1-0/+1
2022-08-24Revert "md-raid: destroy the bitmap after destroying the thread"Guoqing Jiang1-1/+1
2022-08-24md: Flush workqueue md_rdev_misc_wq in md_alloc()David Sloan1-0/+1
2022-08-02block: change the blk_queue_split calling conventionChristoph Hellwig1-1/+1
2022-08-02md-raid: destroy the bitmap after destroying the threadMikulas Patocka1-1/+1
2022-08-02md: return the allocated devices from md_allocChristoph Hellwig1-32/+22
2022-08-02md: open code md_probe in autorun_devicesChristoph Hellwig1-1/+1
2022-08-02md: remove unneeded semicolonYang Li1-1/+1
2022-08-02md: fix build failure for !MODULEStephen Rothwell1-0/+2
2022-08-02md: simplify md_openChristoph Hellwig1-27/+15
2022-08-02md: only delete entries from all_mddevs when the disk is freedChristoph Hellwig1-18/+38
2022-08-02md: stop using for_each_mddev in md_exitChristoph Hellwig1-28/+11
2022-08-02md: stop using for_each_mddev in md_notify_rebootChristoph Hellwig1-3/+9
2022-08-02md: stop using for_each_mddev in md_do_syncChristoph Hellwig1-3/+5
2022-08-02md: factor out the rdev overlaps check from rdev_size_storeChristoph Hellwig1-45/+39
2022-08-02md: rename md_free to md_kobj_releaseChristoph Hellwig1-2/+2
2022-08-02md: implement ->free_diskChristoph Hellwig1-6/+12
2022-08-02md: fix error handling in md_allocChristoph Hellwig1-13/+32
2022-08-02md: fix mddev->kobj lifetimeChristoph Hellwig1-6/+4
2022-08-02md: unlock mddev before reap sync_thread in action_storeGuoqing Jiang1-2/+17
2022-08-02md: Explicitly create command-line configured devicesChris Webb1-1/+1
2022-08-02md: Notify sysfs sync_completed in md_reap_sync_thread()Logan Gunthorpe1-0/+1
2022-08-02md: Ensure resync is reported after it startsLogan Gunthorpe1-2/+12
2022-08-02md: Use enum for overloaded magic numbers used by mddev->curr_resyncLogan Gunthorpe1-22/+18
2022-07-14md/core: Combine two sync_page_io() argumentsBart Van Assche1-5/+5
2022-07-14block: remove bdevnameChristoph Hellwig1-1/+1
2022-06-28block: remove blk_cleanup_diskChristoph Hellwig1-2/+2
2022-06-15Revert "md: don't unregister sync_thread with reconfig_mutex held"Guoqing Jiang1-9/+5
2022-05-22md: fix double free of io_acct_set biosetXiao Ni1-4/+0
2022-05-22md: remove most calls to bdevnameChristoph Hellwig1-87/+65
2022-05-22md: protect md_unregister_thread from reentrancyGuoqing Jiang1-5/+10
2022-05-22md: don't unregister sync_thread with reconfig_mutex heldGuoqing Jiang1-5/+9
2022-04-25md: Replace role magic numbers with defined constantsDavid Sloan1-5/+6
2022-04-25md: replace deprecated strlcpy & remove duplicated lineHeming Zhao1-3/+3
2022-04-25md: fix an incorrect NULL check in md_reload_sbXiaomeng Tong1-4/+6
2022-04-25md: fix an incorrect NULL check in does_sb_need_changingXiaomeng Tong1-3/+5
2022-04-25md: Set MD_BROKEN for RAID1 and RAID10Mariusz Tkaczyk1-12/+15
2022-04-17block: decouple REQ_OP_SECURE_ERASE from REQ_OP_DISCARDChristoph Hellwig1-1/+1
2022-04-17block: add a bdev_nonrot helperChristoph Hellwig1-2/+1
2022-03-21Merge tag 'for-5.18/drivers-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2022-03-21Merge tag 'for-5.18/block-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-15/+14
2022-03-08md: use msleep() in md_notify_reboot()Eric Dumazet1-1/+1
2022-02-04block: pass a block_device to bio_clone_fastChristoph Hellwig1-2/+3
2022-02-02md: fix NULL pointer deref with nowait but no mddev->queueSong Liu1-4/+4
2022-02-02block: pass a block_device and opf to bio_initChristoph Hellwig1-5/+3
2022-02-02block: pass a block_device and opf to bio_alloc_biosetChristoph Hellwig1-8/+8
2022-01-12Merge tag 'for-5.17/drivers-2022-01-11' of git://git.kernel.dk/linux-blockLinus Torvalds1-12/+41
2022-01-12Merge tag 'for-5.17/block-2022-01-11' of git://git.kernel.dk/linux-blockLinus Torvalds1-5/+0
2022-01-06md: use default_groups in kobj_typeGreg Kroah-Hartman1-1/+2
2022-01-06md: Move alloc/free acct bioset in to personalityXiao Ni1-10/+17