Lines Matching refs:pers

361 	if (!mddev->pers->make_request(mddev, bio)) {  in md_handle_request()
386 if (mddev == NULL || mddev->pers == NULL) { in md_make_request()
432 mddev->pers->quiesce(mddev, 1); in mddev_suspend()
446 mddev->pers->quiesce(mddev, 0); in mddev_resume()
456 struct md_personality *pers = mddev->pers; in mddev_congested() local
462 else if (pers && pers->congested) in mddev_congested()
463 ret = pers->congested(mddev, bits); in mddev_congested()
578 mddev->pers->make_request(mddev, bio); in md_flush_request()
739 if (mddev->pers == NULL || in mddev_unlock()
740 mddev->pers->sync_request == NULL) { in mddev_unlock()
798 struct md_personality *pers; in find_pers() local
799 list_for_each_entry(pers, &pers_list, list) { in find_pers()
800 if (level != LEVEL_NONE && pers->level == level) in find_pers()
801 return pers; in find_pers()
802 if (strcmp(pers->name, clevel)==0) in find_pers()
803 return pers; in find_pers()
1088 mdname(mddev), mddev->pers->name); in md_check_no_bitmap()
1268 } else if (mddev->pers == NULL) { in super_90_validate()
1789 } else if (mddev->pers == NULL) { in super_1_validate()
2258 mddev->pers) in bind_rdev_to_array()
2265 if (mddev->pers) { in bind_rdev_to_array()
2283 if (mddev->pers) in bind_rdev_to_array()
2715 if (!mddev->pers->hot_remove_disk || add_journal) { in add_bound_rdev()
2724 err = mddev->pers->hot_add_disk(mddev, rdev); in add_bound_rdev()
2829 if (cmd_match(buf, "faulty") && rdev->mddev->pers) { in state_store()
2836 if (rdev->mddev->pers) { in state_store()
2850 if (mddev->pers) { in state_store()
2895 if (rdev->mddev->pers == NULL) { in state_store()
2930 if (rdev->mddev->pers) in state_store()
2938 if (rdev->mddev->pers) in state_store()
2945 if (!rdev->mddev->pers) in state_store()
3024 if (rdev->mddev->pers && slot == -1) { in slot_store()
3035 if (rdev->mddev->pers->hot_remove_disk == NULL) in slot_store()
3043 } else if (rdev->mddev->pers) { in slot_store()
3055 if (rdev->mddev->pers->hot_add_disk == NULL) in slot_store()
3069 err = rdev->mddev->pers-> in slot_store()
3108 if (rdev->mddev->pers && rdev->raid_disk >= 0) in offset_store()
3165 if (mddev->pers && mddev->persistent && in new_offset_store()
3228 if (my_mddev->pers && rdev->raid_disk >= 0) { in rdev_size_store()
3237 if (!my_mddev->pers->resize) in rdev_size_store()
3312 if (rdev->mddev->pers && in recovery_start_store()
3380 if (rdev->mddev->pers && test_bit(MD_HAS_PPL, &rdev->mddev->flags) && in ppl_sector_store()
3417 if (rdev->mddev->pers && test_bit(MD_HAS_PPL, &rdev->mddev->flags) && in ppl_size_store()
3734 p = mddev->pers; in level_show()
3753 struct md_personality *pers, *oldpers; in level_store() local
3765 if (mddev->pers == NULL) { in level_store()
3792 if (!mddev->pers->quiesce) { in level_store()
3794 mdname(mddev), mddev->pers->name); in level_store()
3809 pers = find_pers(level, clevel); in level_store()
3810 if (!pers || !try_module_get(pers->owner)) { in level_store()
3818 if (pers == mddev->pers) { in level_store()
3820 module_put(pers->owner); in level_store()
3824 if (!pers->takeover) { in level_store()
3825 module_put(pers->owner); in level_store()
3838 priv = pers->takeover(mddev); in level_store()
3846 module_put(pers->owner); in level_store()
3858 oldpers = mddev->pers; in level_store()
3860 mddev->pers = pers; in level_store()
3862 strlcpy(mddev->clevel, pers->name, sizeof(mddev->clevel)); in level_store()
3888 pers->sync_request != NULL) { in level_store()
3896 pers->sync_request == NULL) { in level_store()
3928 if (pers->sync_request == NULL) { in level_store()
3936 pers->run(mddev); in level_store()
3976 if (mddev->pers) { in layout_store()
3977 if (mddev->pers->check_reshape == NULL) in layout_store()
3983 err = mddev->pers->check_reshape(mddev); in layout_store()
4025 if (mddev->pers) in raid_disks_store()
4077 if (mddev->pers) { in chunk_size_store()
4078 if (mddev->pers->check_reshape == NULL) in chunk_size_store()
4084 err = mddev->pers->check_reshape(mddev); in chunk_size_store()
4126 if (mddev->pers && !test_bit(MD_RECOVERY_FROZEN, &mddev->recovery)) in resync_start_store()
4131 if (mddev->pers) in resync_start_store()
4202 if (mddev->pers && !test_bit(MD_NOT_READY, &mddev->flags)) { in array_state_show()
4247 if (mddev->pers && (st == active || st == clean) && mddev->ro != 1) { in array_state_store()
4280 if (mddev->pers) in array_state_store()
4288 if (mddev->pers) in array_state_store()
4297 if (mddev->pers) { in array_state_store()
4312 if (mddev->pers) { in array_state_store()
4324 if (mddev->pers) { in array_state_store()
4508 if (mddev->pers) { in size_store()
4639 if (!mddev->pers || !mddev->pers->sync_request) in action_store()
4666 if (mddev->pers->start_reshape == NULL) in action_store()
4674 err = mddev->pers->start_reshape(mddev); in action_store()
4970 if (mddev->pers == NULL || in suspend_lo_store()
4971 mddev->pers->quiesce == NULL) in suspend_lo_store()
5007 if (mddev->pers == NULL) in suspend_hi_store()
5048 if (mddev->pers) in reshape_position_store()
5136 if (mddev->pers) in array_size_store()
5137 sectors = mddev->pers->size(mddev, 0, 0); in array_size_store()
5145 else if (mddev->pers && mddev->pers->size(mddev, 0, 0) < sectors) in array_size_store()
5153 if (mddev->pers) { in array_size_store()
5177 } else if (mddev->pers) { in consistency_policy_show()
5178 if (mddev->pers->sync_request) in consistency_policy_show()
5194 if (mddev->pers) { in consistency_policy_store()
5195 if (mddev->pers->change_consistency_policy) in consistency_policy_store()
5196 err = mddev->pers->change_consistency_policy(mddev, buf); in consistency_policy_store()
5555 struct md_personality *pers; in md_run() local
5561 if (mddev->pers) in md_run()
5640 pers = find_pers(mddev->level, mddev->clevel); in md_run()
5641 if (!pers || !try_module_get(pers->owner)) { in md_run()
5653 if (mddev->level != pers->level) { in md_run()
5654 mddev->level = pers->level; in md_run()
5655 mddev->new_level = pers->level; in md_run()
5657 strlcpy(mddev->clevel, pers->name, sizeof(mddev->clevel)); in md_run()
5660 pers->start_reshape == NULL) { in md_run()
5662 module_put(pers->owner); in md_run()
5667 if (pers->sync_request) { in md_run()
5701 err = pers->run(mddev); in md_run()
5704 else if (pers->size(mddev, 0, 0) < mddev->array_sectors) { in md_run()
5710 (unsigned long long)pers->size(mddev, 0, 0) / 2); in md_run()
5713 if (err == 0 && pers->sync_request && in md_run()
5767 if (pers->sync_request) { in md_run()
5786 mddev->pers = pers; in md_run()
5808 pers->free(mddev, mddev->private); in md_run()
5810 module_put(pers->owner); in md_run()
5859 if (mddev->pers->start) { in md_start()
5862 ret = mddev->pers->start(mddev); in md_start()
5880 if (!mddev->pers) in restart_array()
5972 if (mddev->pers && mddev->pers->quiesce) { in __md_stop_writes()
5973 mddev->pers->quiesce(mddev, 1); in __md_stop_writes()
5974 mddev->pers->quiesce(mddev, 0); in __md_stop_writes()
6001 if (mddev->pers && mddev->pers->quiesce) { in mddev_detach()
6002 mddev->pers->quiesce(mddev, 1); in mddev_detach()
6003 mddev->pers->quiesce(mddev, 0); in mddev_detach()
6012 struct md_personality *pers = mddev->pers; in __md_stop() local
6018 mddev->pers = NULL; in __md_stop()
6020 pers->free(mddev, mddev->private); in __md_stop()
6022 if (pers->sync_request && mddev->to_remove == NULL) in __md_stop()
6024 module_put(pers->owner); in __md_stop()
6067 if ((mddev->pers && atomic_read(&mddev->openers) > !!bdev) || in md_set_readonly()
6079 if (mddev->pers) { in md_set_readonly()
6128 if ((mddev->pers && atomic_read(&mddev->openers) > !!bdev) || in do_md_stop()
6141 if (mddev->pers) { in do_md_stop()
6502 if (mddev->pers) { in add_new_disk()
6504 if (!mddev->pers->hot_add_disk) { in add_new_disk()
6664 if (!mddev->pers) in hot_remove_disk()
6705 if (!mddev->pers) in hot_add_disk()
6713 if (!mddev->pers->hot_add_disk) { in hot_add_disk()
6775 if (mddev->pers) { in set_bitmap_file()
6776 if (!mddev->pers->quiesce || !mddev->thread) in set_bitmap_file()
6820 if (mddev->pers) { in set_bitmap_file()
6961 if (mddev->pers->resize == NULL) in update_size()
6986 rv = mddev->pers->resize(mddev, num_sectors); in update_size()
7003 if (mddev->pers->check_reshape == NULL) in update_raid_disks()
7030 rv = mddev->pers->check_reshape(mddev); in update_raid_disks()
7087 if (mddev->pers->check_reshape == NULL) in update_array_info()
7091 rv = mddev->pers->check_reshape(mddev); in update_array_info()
7104 if (mddev->pers->quiesce == NULL || mddev->thread == NULL) { in update_array_info()
7176 if (mddev->pers == NULL) in set_disk_faulty()
7326 if (mddev->pers && atomic_read(&mddev->openers) > 1) { in md_ioctl()
7352 if (mddev->pers) { in md_ioctl()
7416 if (mddev->pers) { in md_ioctl()
7449 if (mddev->pers) { in md_ioctl()
7463 if (mddev->ro && mddev->pers) { in md_ioctl()
7733 if (!mddev->pers || !mddev->pers->error_handler) in md_error()
7735 mddev->pers->error_handler(mddev,rdev); in md_error()
7966 struct md_personality *pers; in md_seq_show() local
7969 list_for_each_entry(pers, &pers_list, list) in md_seq_show()
7970 seq_printf(seq, "[%s] ", pers->name); in md_seq_show()
7983 if (mddev->pers || mddev->raid_disks || !list_empty(&mddev->disks)) { in md_seq_show()
7985 mddev->pers ? "" : "in"); in md_seq_show()
7986 if (mddev->pers) { in md_seq_show()
7991 seq_printf(seq, " %s", mddev->pers->name); in md_seq_show()
8017 if (mddev->pers) in md_seq_show()
8038 if (mddev->pers) { in md_seq_show()
8039 mddev->pers->status(seq, mddev); in md_seq_show()
8041 if (mddev->pers->sync_request) { in md_seq_show()
8330 if (!mddev->pers) in md_allow_write()
8334 if (!mddev->pers->sync_request) in md_allow_write()
8527 mddev->pers->quiesce(mddev, 1); in md_do_sync()
8528 mddev->pers->quiesce(mddev, 0); in md_do_sync()
8612 sectors = mddev->pers->sync_request(mddev, j, &skipped); in md_do_sync()
8702 mddev->pers->sync_request(mddev, max_sectors, &skipped); in md_do_sync()
8749 mddev->pers->finish_reshape && in md_do_sync()
8750 mddev->pers->size && in md_do_sync()
8753 md_set_array_sectors(mddev, mddev->pers->size(mddev, 0, 0)); in md_do_sync()
8817 if (mddev->pers->hot_remove_disk( in remove_and_add_spares()
8857 if (mddev->pers-> in remove_and_add_spares()
8943 if (mddev->pers->sync_request && !mddev->external) { in md_check_recovery()
9054 if (mddev->pers->check_reshape == NULL || in md_check_recovery()
9055 mddev->pers->check_reshape(mddev) != 0) in md_check_recovery()
9072 if (mddev->pers->sync_request) { in md_check_recovery()
9113 if (mddev->pers->spare_active(mddev)) { in md_reap_sync_thread()
9120 mddev->pers->finish_reshape) { in md_reap_sync_thread()
9121 mddev->pers->finish_reshape(mddev); in md_reap_sync_thread()
9241 if (mddev->pers) in md_notify_reboot()
9326 ret = mddev->pers->resize(mddev, le64_to_cpu(sb->size)); in check_sb_changes()
9393 if (mddev->pers->update_reshape_pos) in check_sb_changes()
9394 mddev->pers->update_reshape_pos(mddev); in check_sb_changes()
9395 if (mddev->pers->start_reshape) in check_sb_changes()
9396 mddev->pers->start_reshape(mddev); in check_sb_changes()
9402 if (mddev->pers->update_reshape_pos) in check_sb_changes()
9403 mddev->pers->update_reshape_pos(mddev); in check_sb_changes()
9450 mddev->pers->spare_active(mddev)) in read_rdev()