Lines Matching refs:pers

260 	if (mddev == NULL || mddev->pers == NULL  in md_make_request()
294 mddev->pers->make_request(mddev, bio); in md_make_request()
317 mddev->pers->quiesce(mddev, 1); in mddev_suspend()
327 mddev->pers->quiesce(mddev, 0); in mddev_resume()
337 struct md_personality *pers = mddev->pers; in mddev_congested() local
343 else if (pers && pers->congested) in mddev_congested()
344 ret = pers->congested(mddev, bits); in mddev_congested()
369 struct md_personality *pers = mddev->pers; in md_mergeable_bvec() local
370 if (pers && pers->mergeable_bvec) in md_mergeable_bvec()
371 ret = pers->mergeable_bvec(mddev, bvm, biovec); in md_mergeable_bvec()
441 mddev->pers->make_request(mddev, bio); in md_submit_flush_data()
630 if (mddev->pers == NULL || in mddev_unlock()
631 mddev->pers->sync_request == NULL) { in mddev_unlock()
687 struct md_personality *pers; in find_pers() local
688 list_for_each_entry(pers, &pers_list, list) { in find_pers()
689 if (level != LEVEL_NONE && pers->level == level) in find_pers()
690 return pers; in find_pers()
691 if (strcmp(pers->name, clevel)==0) in find_pers()
692 return pers; in find_pers()
953 mdname(mddev), mddev->pers->name); in md_check_no_bitmap()
1134 } else if (mddev->pers == NULL) { in super_90_validate()
1625 } else if (mddev->pers == NULL) { in super_1_validate()
2039 if (mddev->pers) { in bind_rdev_to_array()
2057 if (mddev->pers) in bind_rdev_to_array()
2389 if (!mddev->pers->hot_remove_disk) { in add_bound_rdev()
2396 err = mddev->pers->hot_add_disk(mddev, rdev); in add_bound_rdev()
2504 if (cmd_match(buf, "faulty") && rdev->mddev->pers) { in state_store()
2520 if (mddev->pers) in state_store()
2555 if (rdev->mddev->pers == NULL) { in state_store()
2589 if (rdev->mddev->pers) in state_store()
2597 if (rdev->mddev->pers) in state_store()
2665 if (rdev->mddev->pers && slot == -1) { in slot_store()
2676 if (rdev->mddev->pers->hot_remove_disk == NULL) in slot_store()
2684 } else if (rdev->mddev->pers) { in slot_store()
2695 if (rdev->mddev->pers->hot_add_disk == NULL) in slot_store()
2709 err = rdev->mddev->pers-> in slot_store()
2748 if (rdev->mddev->pers && rdev->raid_disk >= 0) in offset_store()
2805 if (mddev->pers && mddev->persistent && in new_offset_store()
2866 if (my_mddev->pers && rdev->raid_disk >= 0) { in rdev_size_store()
2875 if (!my_mddev->pers->resize) in rdev_size_store()
2950 if (rdev->mddev->pers && in recovery_start_store()
3317 p = mddev->pers; in level_show()
3336 struct md_personality *pers, *oldpers; in level_store() local
3348 if (mddev->pers == NULL) { in level_store()
3375 if (!mddev->pers->quiesce) { in level_store()
3377 mdname(mddev), mddev->pers->name); in level_store()
3392 pers = find_pers(level, clevel); in level_store()
3393 if (!pers || !try_module_get(pers->owner)) { in level_store()
3401 if (pers == mddev->pers) { in level_store()
3403 module_put(pers->owner); in level_store()
3407 if (!pers->takeover) { in level_store()
3408 module_put(pers->owner); in level_store()
3421 priv = pers->takeover(mddev); in level_store()
3429 module_put(pers->owner); in level_store()
3441 oldpers = mddev->pers; in level_store()
3443 mddev->pers = pers; in level_store()
3445 strlcpy(mddev->clevel, pers->name, sizeof(mddev->clevel)); in level_store()
3471 pers->sync_request != NULL) { in level_store()
3480 pers->sync_request == NULL) { in level_store()
3511 if (pers->sync_request == NULL) { in level_store()
3519 pers->run(mddev); in level_store()
3559 if (mddev->pers) { in layout_store()
3560 if (mddev->pers->check_reshape == NULL) in layout_store()
3566 err = mddev->pers->check_reshape(mddev); in layout_store()
3608 if (mddev->pers) in raid_disks_store()
3660 if (mddev->pers) { in chunk_size_store()
3661 if (mddev->pers->check_reshape == NULL) in chunk_size_store()
3667 err = mddev->pers->check_reshape(mddev); in chunk_size_store()
3700 if (mddev->pers && !test_bit(MD_RECOVERY_FROZEN, &mddev->recovery)) in resync_start_store()
3709 if (mddev->pers) in resync_start_store()
3775 if (mddev->pers) in array_state_show()
3815 if (mddev->pers && (st == active || st == clean) && mddev->ro != 1) { in array_state_store()
3854 if (mddev->pers) in array_state_store()
3862 if (mddev->pers) in array_state_store()
3871 if (mddev->pers) { in array_state_store()
3886 if (mddev->pers) { in array_state_store()
3904 if (mddev->pers) { in array_state_store()
4083 if (mddev->pers) { in size_store()
4215 if (!mddev->pers || !mddev->pers->sync_request) in action_store()
4243 if (mddev->pers->start_reshape == NULL) in action_store()
4248 err = mddev->pers->start_reshape(mddev); in action_store()
4536 if (mddev->pers == NULL || in suspend_lo_store()
4537 mddev->pers->quiesce == NULL) in suspend_lo_store()
4543 mddev->pers->quiesce(mddev, 2); in suspend_lo_store()
4546 mddev->pers->quiesce(mddev, 1); in suspend_lo_store()
4547 mddev->pers->quiesce(mddev, 0); in suspend_lo_store()
4578 if (mddev->pers == NULL || in suspend_hi_store()
4579 mddev->pers->quiesce == NULL) in suspend_hi_store()
4585 mddev->pers->quiesce(mddev, 2); in suspend_hi_store()
4588 mddev->pers->quiesce(mddev, 1); in suspend_hi_store()
4589 mddev->pers->quiesce(mddev, 0); in suspend_hi_store()
4623 if (mddev->pers) in reshape_position_store()
4705 if (mddev->pers) in array_size_store()
4706 sectors = mddev->pers->size(mddev, 0, 0); in array_size_store()
4714 else if (mddev->pers && mddev->pers->size(mddev, 0, 0) < sectors) in array_size_store()
4722 if (mddev->pers) { in array_size_store()
5007 struct md_personality *pers; in md_run() local
5013 if (mddev->pers) in md_run()
5073 pers = find_pers(mddev->level, mddev->clevel); in md_run()
5074 if (!pers || !try_module_get(pers->owner)) { in md_run()
5085 if (mddev->level != pers->level) { in md_run()
5086 mddev->level = pers->level; in md_run()
5087 mddev->new_level = pers->level; in md_run()
5089 strlcpy(mddev->clevel, pers->name, sizeof(mddev->clevel)); in md_run()
5092 pers->start_reshape == NULL) { in md_run()
5094 module_put(pers->owner); in md_run()
5098 if (pers->sync_request) { in md_run()
5137 err = pers->run(mddev); in md_run()
5140 else if (pers->size(mddev, 0, 0) < mddev->array_sectors) { in md_run()
5146 (unsigned long long)pers->size(mddev, 0, 0) / 2); in md_run()
5149 if (err == 0 && pers->sync_request && in md_run()
5165 pers->free(mddev, mddev->private); in md_run()
5167 module_put(pers->owner); in md_run()
5176 if (pers->sync_request) { in md_run()
5196 mddev->pers = pers; in md_run()
5248 if (!mddev->pers) in restart_array()
5357 if (mddev->pers && mddev->pers->quiesce) { in mddev_detach()
5358 mddev->pers->quiesce(mddev, 1); in mddev_detach()
5359 mddev->pers->quiesce(mddev, 0); in mddev_detach()
5368 struct md_personality *pers = mddev->pers; in __md_stop() local
5374 mddev->pers = NULL; in __md_stop()
5376 pers->free(mddev, mddev->private); in __md_stop()
5378 if (pers->sync_request && mddev->to_remove == NULL) in __md_stop()
5380 module_put(pers->owner); in __md_stop()
5420 if ((mddev->pers && atomic_read(&mddev->openers) > !!bdev) || in md_set_readonly()
5433 if (mddev->pers) { in md_set_readonly()
5482 if ((mddev->pers && atomic_read(&mddev->openers) > !!bdev) || in do_md_stop()
5496 if (mddev->pers) { in do_md_stop()
5861 if (mddev->pers) { in add_new_disk()
5863 if (!mddev->pers->hot_add_disk) { in add_new_disk()
6034 if (!mddev->pers) in hot_add_disk()
6043 if (!mddev->pers->hot_add_disk) { in hot_add_disk()
6114 if (mddev->pers) { in set_bitmap_file()
6115 if (!mddev->pers->quiesce || !mddev->thread) in set_bitmap_file()
6159 if (mddev->pers) { in set_bitmap_file()
6160 mddev->pers->quiesce(mddev, 1); in set_bitmap_file()
6175 mddev->pers->quiesce(mddev, 0); in set_bitmap_file()
6292 if (mddev->pers->resize == NULL) in update_size()
6317 rv = mddev->pers->resize(mddev, num_sectors); in update_size()
6328 if (mddev->pers->check_reshape == NULL) in update_raid_disks()
6355 rv = mddev->pers->check_reshape(mddev); in update_raid_disks()
6412 if (mddev->pers->check_reshape == NULL) in update_array_info()
6416 rv = mddev->pers->check_reshape(mddev); in update_array_info()
6431 if (mddev->pers->quiesce == NULL || mddev->thread == NULL) { in update_array_info()
6454 mddev->pers->quiesce(mddev, 1); in update_array_info()
6463 mddev->pers->quiesce(mddev, 0); in update_array_info()
6474 mddev->pers->quiesce(mddev, 1); in update_array_info()
6476 mddev->pers->quiesce(mddev, 0); in update_array_info()
6495 if (mddev->pers == NULL) in set_disk_faulty()
6644 if (mddev->pers && atomic_read(&mddev->openers) > 1) { in md_ioctl()
6669 if (mddev->pers) { in md_ioctl()
6739 if (mddev->pers) { in md_ioctl()
6772 if (mddev->pers) { in md_ioctl()
6786 if (mddev->ro && mddev->pers) { in md_ioctl()
7045 if (!mddev->pers || !mddev->pers->error_handler) in md_error()
7047 mddev->pers->error_handler(mddev,rdev); in md_error()
7236 struct md_personality *pers; in md_seq_show() local
7239 list_for_each_entry(pers, &pers_list, list) in md_seq_show()
7240 seq_printf(seq, "[%s] ", pers->name); in md_seq_show()
7253 if (mddev->pers || mddev->raid_disks || !list_empty(&mddev->disks)) { in md_seq_show()
7255 mddev->pers ? "" : "in"); in md_seq_show()
7256 if (mddev->pers) { in md_seq_show()
7261 seq_printf(seq, " %s", mddev->pers->name); in md_seq_show()
7285 if (mddev->pers) in md_seq_show()
7306 if (mddev->pers) { in md_seq_show()
7307 mddev->pers->status(seq, mddev); in md_seq_show()
7309 if (mddev->pers->sync_request) { in md_seq_show()
7569 if (!mddev->pers) in md_allow_write()
7573 if (!mddev->pers->sync_request) in md_allow_write()
7745 mddev->pers->quiesce(mddev, 1); in md_do_sync()
7746 mddev->pers->quiesce(mddev, 0); in md_do_sync()
7835 sectors = mddev->pers->sync_request(mddev, j, &skipped); in md_do_sync()
7919 mddev->pers->sync_request(mddev, max_sectors, &skipped); in md_do_sync()
7991 if (mddev->pers->hot_remove_disk( in remove_and_add_spares()
8019 if (mddev->pers-> in remove_and_add_spares()
8093 if (mddev->pers->sync_request && !mddev->external) { in md_check_recovery()
8194 if (mddev->pers->check_reshape == NULL || in md_check_recovery()
8195 mddev->pers->check_reshape(mddev) != 0) in md_check_recovery()
8212 if (mddev->pers->sync_request) { in md_check_recovery()
8250 if (mddev->pers->spare_active(mddev)) { in md_reap_sync_thread()
8259 mddev->pers->finish_reshape) in md_reap_sync_thread()
8260 mddev->pers->finish_reshape(mddev); in md_reap_sync_thread()
8820 if (mddev->pers) in md_notify_reboot()