Lines Matching full:holder
221 rcu_assign_pointer(pr->holder, reg); in nvmet_pr_set_new_holder()
261 struct nvmet_pr_registrant *holder; in nvmet_pr_unregister_one() local
266 holder = rcu_dereference_protected(pr->holder, 1); in nvmet_pr_unregister_one()
267 if (reg != holder) in nvmet_pr_unregister_one()
270 original_rtype = holder->rtype; in nvmet_pr_unregister_one()
277 rcu_assign_pointer(pr->holder, first_reg); in nvmet_pr_unregister_one()
279 rcu_assign_pointer(pr->holder, NULL); in nvmet_pr_unregister_one()
325 struct nvmet_pr_registrant *holder; in nvmet_pr_update_reg_attr() local
328 holder = rcu_dereference_protected(pr->holder, 1); in nvmet_pr_update_reg_attr()
329 if (reg != holder) { in nvmet_pr_update_reg_attr()
338 new->rkey = holder->rkey; in nvmet_pr_update_reg_attr()
339 new->rtype = holder->rtype; in nvmet_pr_update_reg_attr()
340 uuid_copy(&new->hostid, &holder->hostid); in nvmet_pr_update_reg_attr()
344 list_replace_rcu(&holder->entry, &new->entry); in nvmet_pr_update_reg_attr()
345 rcu_assign_pointer(pr->holder, new); in nvmet_pr_update_reg_attr()
346 kfree_rcu(holder, rcu); in nvmet_pr_update_reg_attr()
444 struct nvmet_pr_registrant *holder; in nvmet_pr_acquire() local
446 holder = rcu_dereference_protected(pr->holder, 1); in nvmet_pr_acquire()
447 if (holder && reg != holder) in nvmet_pr_acquire()
449 if (holder && reg == holder) { in nvmet_pr_acquire()
450 if (holder->rtype == rtype) in nvmet_pr_acquire()
561 struct nvmet_pr_registrant *holder; in nvmet_pr_preempt() local
566 holder = rcu_dereference_protected(pr->holder, 1); in nvmet_pr_preempt()
567 if (!holder) in nvmet_pr_preempt()
571 original_rtype = holder->rtype; in nvmet_pr_preempt()
577 * avoid terminate the holder, set the new holder in nvmet_pr_preempt()
588 if (holder == reg) { in nvmet_pr_preempt()
589 status = nvmet_pr_update_reg_attr(pr, holder, in nvmet_pr_preempt()
596 if (prkey == holder->rkey) { in nvmet_pr_preempt()
598 * Same as before, set the new holder first. in nvmet_pr_preempt()
729 struct nvmet_pr_registrant *holder; in nvmet_pr_release() local
732 holder = rcu_dereference_protected(pr->holder, 1); in nvmet_pr_release()
733 if (!holder || reg != holder) in nvmet_pr_release()
736 original_rtype = holder->rtype; in nvmet_pr_release()
740 rcu_assign_pointer(pr->holder, NULL); in nvmet_pr_release()
754 rcu_assign_pointer(pr->holder, NULL); in nvmet_pr_clear()
835 struct nvmet_pr_registrant *holder; in nvmet_execute_pr_report() local
864 holder = rcu_dereference(pr->holder); in nvmet_execute_pr_report()
865 rtype = holder ? holder->rtype : 0; in nvmet_execute_pr_report()
883 if (reg == holder) in nvmet_execute_pr_report()
960 struct nvmet_pr_registrant *holder; in nvmet_pr_check_cmd_access() local
966 holder = rcu_dereference(pr->holder); in nvmet_pr_check_cmd_access()
967 if (!holder) in nvmet_pr_check_cmd_access()
969 if (uuid_equal(&ctrl->hostid, &holder->hostid)) in nvmet_pr_check_cmd_access()
976 switch (holder->rtype) { in nvmet_pr_check_cmd_access()
1001 holder->rtype); in nvmet_pr_check_cmd_access()
1131 ns->pr.holder = NULL; in nvmet_pr_init_ns()