Lines Matching refs:subsys

339 	struct nvmet_subsys *subsys = ns->subsys;  in nvmet_ns_device_path_store()  local
343 mutex_lock(&subsys->lock); in nvmet_ns_device_path_store()
359 mutex_unlock(&subsys->lock); in nvmet_ns_device_path_store()
363 mutex_unlock(&subsys->lock); in nvmet_ns_device_path_store()
386 mutex_lock(&ns->subsys->lock); in nvmet_ns_p2pmem_store()
403 mutex_unlock(&ns->subsys->lock); in nvmet_ns_p2pmem_store()
420 struct nvmet_subsys *subsys = ns->subsys; in nvmet_ns_device_uuid_store() local
423 mutex_lock(&subsys->lock); in nvmet_ns_device_uuid_store()
433 mutex_unlock(&subsys->lock); in nvmet_ns_device_uuid_store()
448 struct nvmet_subsys *subsys = ns->subsys; in nvmet_ns_device_nguid_store() local
454 mutex_lock(&subsys->lock); in nvmet_ns_device_nguid_store()
479 mutex_unlock(&subsys->lock); in nvmet_ns_device_nguid_store()
512 nvmet_send_ana_event(ns->subsys, NULL); in nvmet_ns_ana_grpid_store()
557 mutex_lock(&ns->subsys->lock); in nvmet_ns_buffered_io_store()
560 mutex_unlock(&ns->subsys->lock); in nvmet_ns_buffered_io_store()
565 mutex_unlock(&ns->subsys->lock); in nvmet_ns_buffered_io_store()
583 mutex_lock(&ns->subsys->lock); in nvmet_ns_revalidate_size_store()
586 mutex_unlock(&ns->subsys->lock); in nvmet_ns_revalidate_size_store()
590 mutex_unlock(&ns->subsys->lock); in nvmet_ns_revalidate_size_store()
630 struct nvmet_subsys *subsys = namespaces_to_subsys(&group->cg_item); in nvmet_ns_make() local
646 ns = nvmet_ns_alloc(subsys, nsid); in nvmet_ns_make()
651 pr_info("adding nsid %d to subsystem %s\n", nsid, subsys->subsysnqn); in nvmet_ns_make()
672 struct nvmet_subsys *subsys = to_subsys(item->ci_parent); in nvmet_passthru_device_path_show() local
674 return snprintf(page, PAGE_SIZE, "%s\n", subsys->passthru_ctrl_path); in nvmet_passthru_device_path_show()
680 struct nvmet_subsys *subsys = to_subsys(item->ci_parent); in nvmet_passthru_device_path_store() local
684 mutex_lock(&subsys->lock); in nvmet_passthru_device_path_store()
687 if (subsys->passthru_ctrl) in nvmet_passthru_device_path_store()
695 kfree(subsys->passthru_ctrl_path); in nvmet_passthru_device_path_store()
697 subsys->passthru_ctrl_path = kstrndup(page, len, GFP_KERNEL); in nvmet_passthru_device_path_store()
698 if (!subsys->passthru_ctrl_path) in nvmet_passthru_device_path_store()
701 mutex_unlock(&subsys->lock); in nvmet_passthru_device_path_store()
705 mutex_unlock(&subsys->lock); in nvmet_passthru_device_path_store()
713 struct nvmet_subsys *subsys = to_subsys(item->ci_parent); in nvmet_passthru_enable_show() local
715 return sprintf(page, "%d\n", subsys->passthru_ctrl ? 1 : 0); in nvmet_passthru_enable_show()
721 struct nvmet_subsys *subsys = to_subsys(item->ci_parent); in nvmet_passthru_enable_store() local
729 ret = nvmet_passthru_ctrl_enable(subsys); in nvmet_passthru_enable_store()
731 nvmet_passthru_ctrl_disable(subsys); in nvmet_passthru_enable_store()
746 struct nvmet_subsys *subsys = to_subsys(item->ci_parent); in nvmet_passthru_admin_timeout_store() local
751 subsys->admin_timeout = timeout; in nvmet_passthru_admin_timeout_store()
765 struct nvmet_subsys *subsys = to_subsys(item->ci_parent); in nvmet_passthru_io_timeout_store() local
770 subsys->io_timeout = timeout; in nvmet_passthru_io_timeout_store()
788 static void nvmet_add_passthru_group(struct nvmet_subsys *subsys) in nvmet_add_passthru_group() argument
790 config_group_init_type_name(&subsys->passthru_group, in nvmet_add_passthru_group()
792 configfs_add_default_group(&subsys->passthru_group, in nvmet_add_passthru_group()
793 &subsys->group); in nvmet_add_passthru_group()
798 static void nvmet_add_passthru_group(struct nvmet_subsys *subsys) in nvmet_add_passthru_group() argument
808 struct nvmet_subsys *subsys; in nvmet_port_subsys_allow_link() local
816 subsys = to_subsys(target); in nvmet_port_subsys_allow_link()
820 link->subsys = subsys; in nvmet_port_subsys_allow_link()
825 if (p->subsys == subsys) in nvmet_port_subsys_allow_link()
836 nvmet_port_disc_changed(port, subsys); in nvmet_port_subsys_allow_link()
851 struct nvmet_subsys *subsys = to_subsys(target); in nvmet_port_subsys_drop_link() local
856 if (p->subsys == subsys) in nvmet_port_subsys_drop_link()
864 nvmet_port_del_ctrls(port, subsys); in nvmet_port_subsys_drop_link()
865 nvmet_port_disc_changed(port, subsys); in nvmet_port_subsys_drop_link()
886 struct nvmet_subsys *subsys = to_subsys(parent->ci_parent); in nvmet_allowed_hosts_allow_link() local
904 if (subsys->allow_any_host) { in nvmet_allowed_hosts_allow_link()
910 list_for_each_entry(p, &subsys->hosts, entry) { in nvmet_allowed_hosts_allow_link()
914 list_add_tail(&link->entry, &subsys->hosts); in nvmet_allowed_hosts_allow_link()
915 nvmet_subsys_disc_changed(subsys, host); in nvmet_allowed_hosts_allow_link()
928 struct nvmet_subsys *subsys = to_subsys(parent->ci_parent); in nvmet_allowed_hosts_drop_link() local
933 list_for_each_entry(p, &subsys->hosts, entry) { in nvmet_allowed_hosts_drop_link()
942 nvmet_subsys_disc_changed(subsys, host); in nvmet_allowed_hosts_drop_link()
968 struct nvmet_subsys *subsys = to_subsys(item); in nvmet_subsys_attr_allow_any_host_store() local
976 if (allow_any_host && !list_empty(&subsys->hosts)) { in nvmet_subsys_attr_allow_any_host_store()
982 if (subsys->allow_any_host != allow_any_host) { in nvmet_subsys_attr_allow_any_host_store()
983 subsys->allow_any_host = allow_any_host; in nvmet_subsys_attr_allow_any_host_store()
984 nvmet_subsys_disc_changed(subsys, NULL); in nvmet_subsys_attr_allow_any_host_store()
997 struct nvmet_subsys *subsys = to_subsys(item); in nvmet_subsys_attr_version_show() local
999 if (NVME_TERTIARY(subsys->ver)) in nvmet_subsys_attr_version_show()
1001 NVME_MAJOR(subsys->ver), in nvmet_subsys_attr_version_show()
1002 NVME_MINOR(subsys->ver), in nvmet_subsys_attr_version_show()
1003 NVME_TERTIARY(subsys->ver)); in nvmet_subsys_attr_version_show()
1006 NVME_MAJOR(subsys->ver), in nvmet_subsys_attr_version_show()
1007 NVME_MINOR(subsys->ver)); in nvmet_subsys_attr_version_show()
1011 nvmet_subsys_attr_version_store_locked(struct nvmet_subsys *subsys, in nvmet_subsys_attr_version_store_locked() argument
1017 if (subsys->subsys_discovered) { in nvmet_subsys_attr_version_store_locked()
1018 if (NVME_TERTIARY(subsys->ver)) in nvmet_subsys_attr_version_store_locked()
1020 NVME_MAJOR(subsys->ver), in nvmet_subsys_attr_version_store_locked()
1021 NVME_MINOR(subsys->ver), in nvmet_subsys_attr_version_store_locked()
1022 NVME_TERTIARY(subsys->ver)); in nvmet_subsys_attr_version_store_locked()
1025 NVME_MAJOR(subsys->ver), in nvmet_subsys_attr_version_store_locked()
1026 NVME_MINOR(subsys->ver)); in nvmet_subsys_attr_version_store_locked()
1031 if (nvmet_is_passthru_subsys(subsys)) in nvmet_subsys_attr_version_store_locked()
1038 subsys->ver = NVME_VS(major, minor, tertiary); in nvmet_subsys_attr_version_store_locked()
1046 struct nvmet_subsys *subsys = to_subsys(item); in nvmet_subsys_attr_version_store() local
1050 mutex_lock(&subsys->lock); in nvmet_subsys_attr_version_store()
1051 ret = nvmet_subsys_attr_version_store_locked(subsys, page, count); in nvmet_subsys_attr_version_store()
1052 mutex_unlock(&subsys->lock); in nvmet_subsys_attr_version_store()
1068 struct nvmet_subsys *subsys = to_subsys(item); in nvmet_subsys_attr_serial_show() local
1071 NVMET_SN_MAX_SIZE, subsys->serial); in nvmet_subsys_attr_serial_show()
1075 nvmet_subsys_attr_serial_store_locked(struct nvmet_subsys *subsys, in nvmet_subsys_attr_serial_store_locked() argument
1080 if (subsys->subsys_discovered) { in nvmet_subsys_attr_serial_store_locked()
1082 subsys->serial); in nvmet_subsys_attr_serial_store_locked()
1099 memcpy_and_pad(subsys->serial, NVMET_SN_MAX_SIZE, page, len, ' '); in nvmet_subsys_attr_serial_store_locked()
1107 struct nvmet_subsys *subsys = to_subsys(item); in nvmet_subsys_attr_serial_store() local
1111 mutex_lock(&subsys->lock); in nvmet_subsys_attr_serial_store()
1112 ret = nvmet_subsys_attr_serial_store_locked(subsys, page, count); in nvmet_subsys_attr_serial_store()
1113 mutex_unlock(&subsys->lock); in nvmet_subsys_attr_serial_store()
1183 struct nvmet_subsys *subsys = to_subsys(item); in nvmet_subsys_attr_model_show() local
1185 return snprintf(page, PAGE_SIZE, "%s\n", subsys->model_number); in nvmet_subsys_attr_model_show()
1188 static ssize_t nvmet_subsys_attr_model_store_locked(struct nvmet_subsys *subsys, in nvmet_subsys_attr_model_store_locked() argument
1193 if (subsys->subsys_discovered) { in nvmet_subsys_attr_model_store_locked()
1195 subsys->model_number); in nvmet_subsys_attr_model_store_locked()
1214 subsys->model_number = kmemdup_nul(page, len, GFP_KERNEL); in nvmet_subsys_attr_model_store_locked()
1215 if (!subsys->model_number) in nvmet_subsys_attr_model_store_locked()
1223 struct nvmet_subsys *subsys = to_subsys(item); in nvmet_subsys_attr_model_store() local
1227 mutex_lock(&subsys->lock); in nvmet_subsys_attr_model_store()
1228 ret = nvmet_subsys_attr_model_store_locked(subsys, page, count); in nvmet_subsys_attr_model_store()
1229 mutex_unlock(&subsys->lock); in nvmet_subsys_attr_model_store()
1246 struct nvmet_subsys *subsys = to_subsys(item); in nvmet_subsys_attr_discovery_nqn_store() local
1261 if (!strcmp(subsysnqn, subsys->subsysnqn)) { in nvmet_subsys_attr_discovery_nqn_store()
1284 struct nvmet_subsys *subsys = to_subsys(item); in nvmet_subsys_attr_pi_enable_store() local
1290 subsys->pi_support = pi_enable; in nvmet_subsys_attr_pi_enable_store()
1315 struct nvmet_subsys *subsys = to_subsys(item); in nvmet_subsys_release() local
1317 nvmet_subsys_del_ctrls(subsys); in nvmet_subsys_release()
1318 nvmet_subsys_put(subsys); in nvmet_subsys_release()
1334 struct nvmet_subsys *subsys; in nvmet_subsys_make() local
1341 subsys = nvmet_subsys_alloc(name, NVME_NQN_NVME); in nvmet_subsys_make()
1342 if (IS_ERR(subsys)) in nvmet_subsys_make()
1343 return ERR_CAST(subsys); in nvmet_subsys_make()
1345 config_group_init_type_name(&subsys->group, name, &nvmet_subsys_type); in nvmet_subsys_make()
1347 config_group_init_type_name(&subsys->namespaces_group, in nvmet_subsys_make()
1349 configfs_add_default_group(&subsys->namespaces_group, &subsys->group); in nvmet_subsys_make()
1351 config_group_init_type_name(&subsys->allowed_hosts_group, in nvmet_subsys_make()
1353 configfs_add_default_group(&subsys->allowed_hosts_group, in nvmet_subsys_make()
1354 &subsys->group); in nvmet_subsys_make()
1356 nvmet_add_passthru_group(subsys); in nvmet_subsys_make()
1358 return &subsys->group; in nvmet_subsys_make()