Lines Matching refs:pers
418 if (!mddev->pers->make_request(mddev, bio)) { in md_handle_request()
420 if (!mddev->gendisk && mddev->pers->prepare_suspend) in md_handle_request()
435 if (mddev == NULL || mddev->pers == NULL) { in md_submit_bio()
553 if (mddev->pers && atomic_read(&mddev->openers) > opener_num) { in mddev_set_closing_and_sync_blockdev()
937 if (mddev->pers == NULL || in mddev_unlock()
938 mddev->pers->sync_request == NULL) { in mddev_unlock()
1048 static void put_pers(struct md_personality *pers) in put_pers() argument
1050 module_put(pers->head.owner); in put_pers()
1344 mdname(mddev), mddev->pers->head.name); in md_check_no_bitmap()
1546 } else if (mddev->pers == NULL) { in super_90_validate()
2076 } else if (mddev->pers == NULL) { in super_1_validate()
2106 } else if (mddev->pers == NULL && freshest && ev1 < mddev->events) { in super_1_validate()
2554 if (rdev_read_only(rdev) && mddev->pers) in bind_rdev_to_array()
2561 if (mddev->pers) { in bind_rdev_to_array()
2579 if (mddev->pers) in bind_rdev_to_array()
2976 if (!mddev->pers->hot_remove_disk || add_journal) { in add_bound_rdev()
2983 err = mddev->pers->hot_add_disk(mddev, rdev); in add_bound_rdev()
3089 if (cmd_match(buf, "faulty") && rdev->mddev->pers) { in state_store()
3097 if (rdev->mddev->pers) { in state_store()
3110 if (mddev->pers) in state_store()
3156 if (rdev->mddev->pers == NULL) { in state_store()
3190 if (rdev->mddev->pers) in state_store()
3198 if (rdev->mddev->pers) in state_store()
3205 if (!rdev->mddev->pers) in state_store()
3289 if (rdev->mddev->pers && slot == -1) { in slot_store()
3300 if (rdev->mddev->pers->hot_remove_disk == NULL) in slot_store()
3307 } else if (rdev->mddev->pers) { in slot_store()
3319 if (rdev->mddev->pers->hot_add_disk == NULL) in slot_store()
3333 err = rdev->mddev->pers->hot_add_disk(rdev->mddev, rdev); in slot_store()
3371 if (rdev->mddev->pers && rdev->raid_disk >= 0) in offset_store()
3427 if (mddev->pers && mddev->persistent && in new_offset_store()
3511 if (my_mddev->pers && rdev->raid_disk >= 0) { in rdev_size_store()
3520 if (!my_mddev->pers->resize) in rdev_size_store()
3570 if (rdev->mddev->pers && in recovery_start_store()
3638 if (rdev->mddev->pers && test_bit(MD_HAS_PPL, &rdev->mddev->flags) && in ppl_sector_store()
3675 if (rdev->mddev->pers && test_bit(MD_HAS_PPL, &rdev->mddev->flags) && in ppl_size_store()
4019 p = mddev->pers; in level_show()
4038 struct md_personality *pers, *oldpers; in level_store() local
4050 if (mddev->pers == NULL) { in level_store()
4076 if (!mddev->pers->quiesce) { in level_store()
4078 mdname(mddev), mddev->pers->head.name); in level_store()
4092 pers = get_pers(level, clevel); in level_store()
4093 if (!pers) { in level_store()
4098 if (pers == mddev->pers) { in level_store()
4100 put_pers(pers); in level_store()
4104 if (!pers->takeover) { in level_store()
4105 put_pers(pers); in level_store()
4118 priv = pers->takeover(mddev); in level_store()
4126 put_pers(pers); in level_store()
4137 oldpers = mddev->pers; in level_store()
4139 mddev->pers = pers; in level_store()
4141 strscpy(mddev->clevel, pers->head.name, sizeof(mddev->clevel)); in level_store()
4167 pers->sync_request != NULL) { in level_store()
4177 pers->sync_request == NULL) { in level_store()
4209 if (pers->sync_request == NULL) { in level_store()
4216 pers->run(mddev); in level_store()
4363 if (mddev->pers) { in layout_store()
4364 if (mddev->pers->check_reshape == NULL) in layout_store()
4370 err = mddev->pers->check_reshape(mddev); in layout_store()
4412 if (mddev->pers) in raid_disks_store()
4472 if (mddev->pers) { in chunk_size_store()
4473 if (mddev->pers->check_reshape == NULL) in chunk_size_store()
4479 err = mddev->pers->check_reshape(mddev); in chunk_size_store()
4521 if (mddev->pers && !test_bit(MD_RECOVERY_FROZEN, &mddev->recovery)) in resync_start_store()
4526 if (mddev->pers) in resync_start_store()
4596 if (mddev->pers && !test_bit(MD_NOT_READY, &mddev->flags)) { in array_state_show()
4652 if (!mddev->pers || !md_is_rdwr(mddev)) in array_state_store()
4663 if (mddev->pers && (st == active || st == clean) && in array_state_store()
4691 if (mddev->pers) in array_state_store()
4698 if (mddev->pers) in array_state_store()
4707 if (mddev->pers) { in array_state_store()
4722 if (mddev->pers) { in array_state_store()
4734 if (mddev->pers) { in array_state_store()
4930 if (mddev->pers) { in size_store()
5221 if (mddev->pers->start_reshape == NULL) in mddev_start_reshape()
5225 mddev->pers->check_reshape == NULL || in mddev_start_reshape()
5226 mddev->pers->check_reshape(mddev)) { in mddev_start_reshape()
5228 ret = mddev->pers->start_reshape(mddev); in mddev_start_reshape()
5250 if (!mddev->pers || !mddev->pers->sync_request) in action_store()
5702 if (mddev->pers) in reshape_position_store()
5790 if (mddev->pers) in array_size_store()
5791 sectors = mddev->pers->size(mddev, 0, 0); in array_size_store()
5799 else if (mddev->pers && mddev->pers->size(mddev, 0, 0) < sectors) in array_size_store()
5807 if (mddev->pers) in array_size_store()
5830 } else if (mddev->pers) { in consistency_policy_show()
5831 if (mddev->pers->sync_request) in consistency_policy_show()
5847 if (mddev->pers) { in consistency_policy_store()
5848 if (mddev->pers->change_consistency_policy) in consistency_policy_store()
5849 err = mddev->pers->change_consistency_policy(mddev, buf); in consistency_policy_store()
5895 if (mddev->pers == NULL || (mddev->pers->head.id != ID_RAID1)) in serialize_policy_show()
5921 if (mddev->pers == NULL || (mddev->pers->head.id != ID_RAID1)) { in serialize_policy_store()
5987 if (mddev->pers) { in lbs_store()
6471 struct md_personality *pers; in md_run() local
6478 if (mddev->pers) in md_run()
6546 pers = get_pers(mddev->level, mddev->clevel); in md_run()
6547 if (!pers) in md_run()
6549 if (mddev->level != pers->head.id) { in md_run()
6550 mddev->level = pers->head.id; in md_run()
6551 mddev->new_level = pers->head.id; in md_run()
6553 strscpy(mddev->clevel, pers->head.name, sizeof(mddev->clevel)); in md_run()
6556 pers->start_reshape == NULL) { in md_run()
6558 put_pers(pers); in md_run()
6562 if (pers->sync_request) { in md_run()
6598 err = pers->run(mddev); in md_run()
6601 else if (pers->size(mddev, 0, 0) < mddev->array_sectors) { in md_run()
6607 (unsigned long long)pers->size(mddev, 0, 0) / 2); in md_run()
6610 if (err == 0 && pers->sync_request && in md_run()
6639 if (pers->sync_request) { in md_run()
6660 mddev->pers = pers; in md_run()
6682 pers->free(mddev, mddev->private); in md_run()
6684 put_pers(pers); in md_run()
6731 if (mddev->pers->start) { in md_start()
6733 ret = mddev->pers->start(mddev); in md_start()
6751 if (!mddev->pers) in restart_array()
6851 if (mddev->pers && mddev->pers->quiesce) { in __md_stop_writes()
6852 mddev->pers->quiesce(mddev, 1); in __md_stop_writes()
6853 mddev->pers->quiesce(mddev, 0); in __md_stop_writes()
6886 if (mddev->pers && mddev->pers->quiesce && !is_md_suspended(mddev)) { in mddev_detach()
6887 mddev->pers->quiesce(mddev, 1); in mddev_detach()
6888 mddev->pers->quiesce(mddev, 0); in mddev_detach()
6899 struct md_personality *pers = mddev->pers; in __md_stop() local
6904 mddev->pers = NULL; in __md_stop()
6907 pers->free(mddev, mddev->private); in __md_stop()
6909 put_pers(pers); in __md_stop()
6997 if (mddev->pers) { in do_md_stop()
7001 if (mode == 2 && mddev->pers->sync_request && in do_md_stop()
7351 if (mddev->pers) { in md_add_new_disk()
7353 if (!mddev->pers->hot_add_disk) { in md_add_new_disk()
7511 if (!mddev->pers) in hot_remove_disk()
7550 if (!mddev->pers) in hot_add_disk()
7558 if (!mddev->pers->hot_add_disk) { in hot_add_disk()
7622 if (mddev->pers) { in set_bitmap_file()
7623 if (!mddev->pers->quiesce || !mddev->thread) in set_bitmap_file()
7676 if (mddev->pers) { in set_bitmap_file()
7809 if (mddev->pers->resize == NULL) in update_size()
7833 rv = mddev->pers->resize(mddev, num_sectors); in update_size()
7849 if (mddev->pers->check_reshape == NULL) in update_raid_disks()
7876 rv = mddev->pers->check_reshape(mddev); in update_raid_disks()
7955 if (mddev->pers->check_reshape == NULL) in update_array_info()
7959 rv = mddev->pers->check_reshape(mddev); in update_array_info()
7972 if (mddev->pers->quiesce == NULL || mddev->thread == NULL) { in update_array_info()
8040 if (mddev->pers == NULL) in set_disk_faulty()
8123 if (mddev->pers) { in __md_set_array_info()
8241 if (mddev->pers) in md_ioctl()
8254 if (mddev->pers) { in md_ioctl()
8272 if (!md_is_rdwr(mddev) && mddev->pers) { in md_ioctl()
8379 if (!ro && mddev->ro == MD_RDONLY && mddev->pers) { in md_set_read_only()
8582 if (!mddev->pers || !mddev->pers->error_handler) in md_error()
8584 mddev->pers->error_handler(mddev, rdev); in md_error()
8586 if (mddev->pers->head.id == ID_RAID0 || in md_error()
8587 mddev->pers->head.id == ID_LINEAR) in md_error()
8850 if (mddev->pers || mddev->raid_disks || !list_empty(&mddev->disks)) { in md_seq_show()
8852 if (mddev->pers) { in md_seq_show()
8861 seq_printf(seq, " %s", mddev->pers->head.name); in md_seq_show()
8888 if (mddev->pers) in md_seq_show()
8909 if (mddev->pers) { in md_seq_show()
8910 mddev->pers->status(seq, mddev); in md_seq_show()
8912 if (mddev->pers->sync_request) { in md_seq_show()
9193 if (mddev->pers->bitmap_sector) in md_bitmap_start()
9194 mddev->pers->bitmap_sector(mddev, &md_io_clone->offset, in md_bitmap_start()
9289 if (!mddev->pers) in md_allow_write()
9293 if (!mddev->pers->sync_request) in md_allow_write()
9414 mddev->pers->quiesce(mddev, 1); in md_sync_position()
9415 mddev->pers->quiesce(mddev, 0); in md_sync_position()
9646 sectors = mddev->pers->sync_request(mddev, j, max_sectors, in md_do_sync()
9739 mddev->pers->sync_request(mddev, max_sectors, max_sectors, &skipped); in md_do_sync()
9782 mddev->pers->finish_reshape && in md_do_sync()
9783 mddev->pers->size && in md_do_sync()
9786 md_set_array_sectors(mddev, mddev->pers->size(mddev, 0, 0)); in md_do_sync()
9908 !mddev->pers->hot_remove_disk(mddev, rdev)) { in remove_spares()
9946 if (mddev->pers->hot_add_disk(mddev, rdev) == 0) { in remove_and_add_spares()
9965 if (mddev->pers->check_reshape == NULL || in md_choose_sync_action()
9966 mddev->pers->check_reshape(mddev) != 0) in md_choose_sync_action()
10041 if (!mddev->pers->sync_request) in md_start_sync()
10186 if (mddev->pers->sync_request && !mddev->external) { in md_check_recovery()
10318 if (mddev->pers->spare_active(mddev)) { in md_reap_sync_thread()
10324 mddev->pers->finish_reshape) { in md_reap_sync_thread()
10325 mddev->pers->finish_reshape(mddev); in md_reap_sync_thread()
10457 if (mddev->pers) in md_notify_reboot()
10543 ret = mddev->pers->resize(mddev, le64_to_cpu(sb->size)); in check_sb_changes()
10628 if (mddev->pers->update_reshape_pos) in check_sb_changes()
10629 mddev->pers->update_reshape_pos(mddev); in check_sb_changes()
10630 if (mddev->pers->start_reshape) in check_sb_changes()
10631 mddev->pers->start_reshape(mddev); in check_sb_changes()
10637 if (mddev->pers->update_reshape_pos) in check_sb_changes()
10638 mddev->pers->update_reshape_pos(mddev); in check_sb_changes()
10685 mddev->pers->spare_active(mddev)) in read_rdev()