aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
AgeCommit message (Expand)AuthorFilesLines
12 daysmd: remove legacy 1s delay in md_notify_rebootTarun Sahu1-11/+0
12 daysmd: warn about updating super block failureYu Kuai1-0/+1
2025-11-11md: allow configuring logical block sizeLi Nan1-0/+77
2025-11-11md: add check_new_feature module parameterLi Nan1-3/+9
2025-11-11md: init bioset in mddev_initLi Nan1-36/+33
2025-11-11md: delete md_redundancy_group when array is becoming inactiveLi Nan1-0/+4
2025-11-11md: prevent adding disks with larger logical_block_size to active arraysLi Nan1-0/+7
2025-11-08md: avoid repeated calls to del_gendiskXiao Ni1-1/+2
2025-11-08Factor out code into md_should_do_recovery()Wu Guanghao1-12/+47
2025-11-08md: fix rcu protection in md_wakeup_threadYun Zhou1-8/+6
2025-11-08md: delete mddev kobj before deleting gendisk kobjXiao Ni1-1/+3
2025-10-02Merge tag 'for-6.18/block-20250929' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-72/+310
2025-09-06md/md-llbitmap: introduce new lockless bitmapYu Kuai1-0/+6
2025-09-06md/md-bitmap: make method bitmap_ops->daemon_work optionalYu Kuai1-1/+1
2025-09-06md: add a new recovery_flag MD_RECOVERY_LAZY_RECOVERYu Kuai1-1/+46
2025-09-06md/md-bitmap: add a new method skip_sync_blocks() in bitmap_operationsYu Kuai1-0/+7
2025-09-06md/md-bitmap: delay registration of bitmap_ops until creating bitmapYu Kuai1-37/+53
2025-09-06md/md-bitmap: add a new sysfs api bitmap_typeYu Kuai1-0/+81
2025-09-06md: add a new mddev field 'bitmap_id'Yu Kuai1-6/+31
2025-09-06md/md-bitmap: support discard for bitmap opsYu Kuai1-4/+11
2025-09-06md: factor out a helper raid_is_456()Yu Kuai1-8/+1
2025-09-06md: add a new parameter 'offset' to md_super_write()Yu Kuai1-21/+31
2025-09-06md/md-bitmap: introduce CONFIG_MD_BITMAPYu Kuai1-12/+28
2025-09-06md: check before referencing mddev->bitmap_opsYu Kuai1-20/+48
2025-09-06md/md-bitmap: merge md_bitmap_group into bitmap_operationsYu Kuai1-1/+5
2025-09-05md: prevent incorrect update of resync/recovery offsetLi Nan1-0/+5
2025-09-03Merge tag 'pull-getgeo' of git://git.kernel.org/pub/scm/linux/kernel/git/viro...Jens Axboe1-2/+2
2025-08-16md: fix sync_action incorrect display during resyncZheng Qixing1-2/+35
2025-08-16md: add helper rdev_needs_recovery()Zheng Qixing1-11/+12
2025-08-16md: keep recovery_cp in mdp_superblock_sXiao Ni1-3/+3
2025-08-13md: add legacy_async_del_gendisk modeXiao Ni1-14/+42
2025-08-13block: switch ->getgeo() to struct gendiskAl Viro1-2/+2
2025-08-03md: make rdev_addable usable for rcu modeYang Erkun1-1/+7
2025-07-31md: rename recovery_cp to resync_offsetLi Nan1-25/+25
2025-07-31md/md-cluster: handle REMOVE message earlierHeming Zhao1-3/+6
2025-07-31md: fix create on open mddev lifetime regressionYu Kuai1-0/+6
2025-07-12md: allow removing faulty rdev during resyncZheng Qixing1-7/+17
2025-07-12md: remove/add redundancy group only in level changeXiao Ni1-2/+0
2025-07-12md: Don't clear MD_CLOSING until mddev is freedXiao Ni1-12/+4
2025-07-12md: call del_gendisk in control pathXiao Ni1-10/+23
2025-06-08treewide, timers: Rename from_timer() to timer_container_of()timers-cleanups-2025-06-08Ingo Molnar1-1/+1
2025-05-30md/md-bitmap: remove parameter slot from bitmap_create()Yu Kuai1-3/+3
2025-05-30md/md-bitmap: cleanup bitmap_ops->startwrite()Yu Kuai1-4/+4
2025-05-10md: fix is_mddev_idle()Yu Kuai1-38/+43
2025-05-10md: add a new api sync_io_depthYu Kuai1-19/+90
2025-04-05treewide: Switch/rename to timer_delete[_sync]()Thomas Gleixner1-2/+2
2025-03-13Merge tag 'md-6.15-20250312' of https://git.kernel.org/pub/scm/linux/kernel/g...Jens Axboe1-149/+146
2025-03-06md: improve return types of badblocks handling functionsZheng Qixing1-10/+9
2025-03-06badblocks: return boolean from badblocks_set() and badblocks_clear()Zheng Qixing1-17/+18
2025-03-05md: fix mddev uaf while iterating all_mddevs listYu Kuai1-9/+13
2025-03-05md: switch md-cluster to use md_submodle_headYu Kuai1-35/+6
2025-03-05md: don't export md_cluster_opsYu Kuai1-39/+55
2025-03-05md: switch personalities to use md_submodule_headYu Kuai1-49/+33
2025-03-05md: introduce struct md_submodule_head and APIsYu Kuai1-0/+14
2025-03-05md: merge common code into find_pers()Yu Kuai1-30/+38
2025-03-03block: split struct bio_integrity_payloadChristoph Hellwig1-13/+0
2025-02-15md: ensure resync is prioritized over recoveryLi Nan1-7/+7
2025-01-31Merge tag 'block-6.14-20250131' of git://git.kernel.dk/linuxLinus Torvalds1-0/+5
2025-01-28treewide: const qualify ctl_tables where applicableJoel Granados1-1/+1
2025-01-24md/md-bitmap: Synchronize bitmap_get_stats() with bitmap lifetimeYu Kuai1-0/+5
2025-01-13md/md-bitmap: move bitmap_{start, end}write to md upper layerYu Kuai1-0/+29
2025-01-13md: reintroduce md-linearYu Kuai1-1/+1
2024-11-18Merge tag 'for-6.13/block-20241118' of git://git.kernel.dk/linuxLinus Torvalds1-3/+12
2024-11-05md: don't record new badblocks for faulty rdevYu Kuai1-0/+11
2024-11-05md: don't wait faulty rdev in md_wait_for_blocked_rdev()Yu Kuai1-3/+1
2024-10-17md: ensure child flush IO does not affect origin bio->bi_statusLi Nan1-1/+23
2024-09-06md: Add new_level sysfs interfaceXiao Ni1-0/+29
2024-09-04md: Report failed arrays as broken in mdstatMateusz Kusiak1-2/+7
2024-08-28Merge branch 'md-6.12-bitmap' into md-6.12Song Liu1-55/+100
2024-08-27md: Remove flush handlingYu Kuai1-123/+15
2024-08-27md/md-bitmap: merge md_bitmap_wait_behind_writes() into bitmap_operationsYu Kuai1-1/+1
2024-08-27md/md-bitmap: merge md_bitmap_daemon_work() into bitmap_operationsYu Kuai1-1/+1
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_dirty_bits() into bitmap_operationsYu Kuai1-4/+10
2024-08-27md/md-bitmap: merge bitmap_write_all() into bitmap_operationsYu Kuai1-1/+1
2024-08-27md/md-bitmap: merge md_bitmap_status() into bitmap_operationsYu Kuai1-5/+6
2024-08-27md/md-bitmap: merge md_bitmap_update_sb() into bitmap_operationsYu Kuai1-2/+2
2024-08-27md/md-bitmap: merge md_bitmap_flush() into bitmap_operationsYu Kuai1-1/+2
2024-08-27md/md-bitmap: merge md_bitmap_destroy() into bitmap_operationsYu Kuai1-7/+8
2024-08-27md/md-bitmap: merge md_bitmap_load() into bitmap_operationsYu Kuai1-3/+4
2024-08-27md/md-bitmap: merge md_bitmap_create() into bitmap_operationsYu Kuai1-3/+3
2024-08-27md/md-bitmap: simplify md_bitmap_create() + md_bitmap_load()Yu Kuai1-21/+9
2024-08-27md/md-bitmap: introduce struct bitmap_operationsYu Kuai1-0/+1
2024-08-27md/md-bitmap: add 'file_pages' into struct md_bitmap_statsYu Kuai1-6/+11
2024-08-27md/md-bitmap: add 'events_cleared' into struct md_bitmap_statsYu Kuai1-2/+14
2024-08-27md: use new helper md_bitmap_get_stats() in update_array_info()Yu Kuai1-5/+7
2024-08-27md/md-bitmap: replace md_bitmap_status() with a new helper md_bitmap_get_stats()Yu Kuai1-1/+28
2024-08-27md: Don't flush sync_work in md_write_start()Yu Kuai1-1/+0
2024-07-12md-cluster: fix no recovery job when adding/re-adding a diskHeming Zhao1-3/+14
2024-07-04md: Don't wait for MD_RECOVERY_NEEDED for HOT_REMOVE_DISK ioctlYu Kuai1-6/+0
2024-07-04md-cluster: Constify struct md_cluster_operationsChristophe JAILLET1-2/+2
2024-07-04md: Remove unneeded semicolonYang Li1-1/+1
2024-06-26md: set md-specific flags for all queue limitsChristoph Hellwig1-5/+9
2024-06-19Merge branch 'for-6.11/block-limits' into for-6.11/blockJens Axboe1-34/+6
2024-06-19block: move the nowait flag to queue_limitsChristoph Hellwig1-17/+1
2024-06-19block: move the io_stat flag setting to queue_limitsChristoph Hellwig1-3/+2
2024-06-19block: move the nonrot flag to queue_limitsChristoph Hellwig1-13/+0
2024-06-19block: move cache control settings out of queue->flagsChristoph Hellwig1-3/+5
2024-06-14Merge branch 'for-6.11/block-limits' into for-6.11/blockJens Axboe1-55/+17
2024-06-14block: move integrity information into queue_limitsChristoph Hellwig1-55/+17
2024-06-12md: pass in max_sectors for pers->sync_request()Yu Kuai1-2/+3
2024-06-12md: factor out helpers for different sync_action in md_do_sync()Yu Kuai1-50/+73
2024-06-12md: replace last_sync_action with new enum typeYu Kuai1-3/+4
2024-06-12md: use new helpers in md_do_sync()Yu Kuai1-16/+5
2024-06-12md: don't fail action_store() if sync_thread is not registeredYu Kuai1-52/+33
2024-06-12md: remove parameter check_seq for stop_sync_thread()Yu Kuai1-15/+11
2024-06-12md: replace sysfs api sync_action with new helpersYu Kuai1-42/+52
2024-06-12md: factor out helper to start reshape from action_store()Yu Kuai1-24/+41
2024-06-12md: add new helpers for sync_actionYu Kuai1-0/+79
2024-06-10md: make md_flush_request() more readableLi Nan1-15/+13
2024-06-10md: fix deadlock between mddev_suspend and flush bioLi Nan1-11/+15
2024-06-10md: change the return value type of md_write_start to voidLi Nan1-10/+4
2024-06-10md: do not delete safemode_timer in mddev_suspendLi Nan1-1/+0
2024-05-07md: 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