Lines Matching defs:cuse_device
23 struct cuse_device {
36 struct cuse_device *ctrlr_device;
37 TAILQ_HEAD(, cuse_device) ns_devices;
39 TAILQ_ENTRY(cuse_device) tailq;
40 TAILQ_ENTRY(cuse_device) cuse_thread_tailq;
44 static TAILQ_HEAD(, cuse_device) g_ctrlr_ctx_head = TAILQ_HEAD_INITIALIZER(g_ctrlr_ctx_head);
50 static TAILQ_HEAD(, cuse_device) g_pending_device_head = TAILQ_HEAD_INITIALIZER(
52 static TAILQ_HEAD(, cuse_device) g_active_device_head = TAILQ_HEAD_INITIALIZER(
163 struct cuse_device *cuse_device = fuse_req_userdata(req);
217 rv = nvme_io_msg_send(cuse_device->ctrlr, passthru_cmd->nsid, cuse_nvme_passthru_cmd_execute, ctx);
220 rv = nvme_io_msg_send(cuse_device->ctrlr, 0, cuse_nvme_passthru_cmd_execute, ctx);
349 struct cuse_device *cuse_device = fuse_req_userdata(req);
351 if (cuse_device->nsid) {
359 rv = nvme_io_msg_send(cuse_device->ctrlr, cuse_device->nsid, cuse_nvme_subsys_reset_execute,
363 rv = nvme_io_msg_send(cuse_device->ctrlr, cuse_device->nsid, cuse_nvme_reset_execute, (void *)req);
386 struct cuse_device *cuse_device = fuse_req_userdata(req);
388 if (cuse_device->nsid) {
394 rv = nvme_io_msg_send(cuse_device->ctrlr, cuse_device->nsid, cuse_nvme_rescan_execute, (void *)req);
438 cuse_nvme_submit_io_write(struct cuse_device *cuse_device, fuse_req_t req, int cmd, void *arg,
489 rc = nvme_io_msg_send(cuse_device->ctrlr, cuse_device->nsid, cuse_nvme_submit_io_write_cb,
543 cuse_nvme_submit_io_read(struct cuse_device *cuse_device, fuse_req_t req, int cmd, void *arg,
589 rc = nvme_io_msg_send(cuse_device->ctrlr, cuse_device->nsid, cuse_nvme_submit_io_read_cb, ctx);
606 struct cuse_device *cuse_device = fuse_req_userdata(req);
621 ns = spdk_nvme_ctrlr_get_ns(cuse_device->ctrlr, cuse_device->nsid);
643 cuse_nvme_submit_io_read(cuse_device, req, cmd, arg, fi, flags,
663 cuse_nvme_submit_io_write(cuse_device, req, cmd, arg, fi, flags,
684 struct cuse_device *cuse_device = fuse_req_userdata(req);
688 ns = spdk_nvme_ctrlr_get_ns(cuse_device->ctrlr, cuse_device->nsid);
700 struct cuse_device *cuse_device = fuse_req_userdata(req);
704 ns = spdk_nvme_ctrlr_get_ns(cuse_device->ctrlr, cuse_device->nsid);
716 struct cuse_device *cuse_device = fuse_req_userdata(req);
720 ns = spdk_nvme_ctrlr_get_ns(cuse_device->ctrlr, cuse_device->nsid);
734 struct cuse_device *cuse_device = fuse_req_userdata(req);
738 ns = spdk_nvme_ctrlr_get_ns(cuse_device->ctrlr, cuse_device->nsid);
748 struct cuse_device *cuse_device = fuse_req_userdata(req);
750 fuse_reply_ioctl(req, cuse_device->nsid, NULL, 0);
765 struct cuse_device *cuse_device = fuse_req_userdata(req);
770 memcpy(tr.trstring, cuse_device->ctrlr->trid.trstring, SPDK_NVMF_TRSTRING_MAX_LEN + 1);
771 memcpy(tr.traddr, cuse_device->ctrlr->trid.traddr, SPDK_NVMF_TRADDR_MAX_LEN + 1);
900 cuse_session_create(struct cuse_device *cuse_device)
909 snprintf(devname_arg, sizeof(devname_arg), "DEVNAME=%s", cuse_device->dev_name);
916 if (cuse_device->nsid) {
917 cuse_device->session = cuse_lowlevel_setup(cuse_argc, cuse_argv, &ci, &cuse_ns_clop,
918 &multithreaded, cuse_device);
920 cuse_device->session = cuse_lowlevel_setup(cuse_argc, cuse_argv, &ci, &cuse_ctrlr_clop,
921 &multithreaded, cuse_device);
924 if (!cuse_device->session) {
928 SPDK_NOTICELOG("fuse session for device %s created\n", cuse_device->dev_name);
929 cuse_device->fuse_efd = fuse_session_fd(cuse_device->session);
932 TAILQ_INSERT_TAIL(&g_pending_device_head, cuse_device, cuse_thread_tailq);
934 TAILQ_REMOVE(&g_pending_device_head, cuse_device, cuse_thread_tailq);
960 struct cuse_device *cuse_device, *tmp;
967 TAILQ_FOREACH_SAFE(cuse_device, &g_pending_device_head, cuse_thread_tailq, tmp) {
968 ret = spdk_fd_group_add(g_device_fdgrp, cuse_device->fuse_efd, process_cuse_event,
969 cuse_device->session, cuse_device->dev_name);
971 SPDK_ERRLOG("Failed to add fd %d: (%s).\n", cuse_device->fuse_efd,
973 TAILQ_REMOVE(&g_pending_device_head, cuse_device, cuse_thread_tailq);
974 free(cuse_device);
986 struct cuse_device *cuse_device, *tmp;
996 TAILQ_FOREACH_SAFE(cuse_device, &g_active_device_head, cuse_thread_tailq, tmp) {
997 if (fuse_session_exited(cuse_device->session)) {
998 spdk_fd_group_remove(g_device_fdgrp, cuse_device->fuse_efd);
999 fuse_session_reset(cuse_device->session);
1000 TAILQ_REMOVE(&g_active_device_head, cuse_device, cuse_thread_tailq);
1001 if (cuse_device->force_exit) {
1002 cuse_lowlevel_teardown(cuse_device->session);
1003 free(cuse_device);
1027 static struct cuse_device *nvme_cuse_get_cuse_ns_device(struct spdk_nvme_ctrlr *ctrlr,
1035 cuse_nvme_ns_start(struct cuse_device *ctrlr_device, uint32_t nsid)
1037 struct cuse_device *ns_device = NULL;
1045 ns_device = calloc(1, sizeof(struct cuse_device));
1076 cuse_nvme_ns_stop(struct cuse_device *ctrlr_device, struct cuse_device *ns_device)
1087 nvme_cuse_claim(struct cuse_device *ctrlr_device, uint32_t index)
1141 nvme_cuse_unclaim(struct cuse_device *ctrlr_device)
1149 cuse_nvme_ctrlr_stop(struct cuse_device *ctrlr_device)
1151 struct cuse_device *ns_device, *tmp;
1172 cuse_nvme_ctrlr_update_namespaces(struct cuse_device *ctrlr_device)
1174 struct cuse_device *ns_device, *tmp;
1218 struct cuse_device *ctrlr_device;
1237 ctrlr_device = (struct cuse_device *)calloc(1, sizeof(struct cuse_device));
1292 static struct cuse_device *
1295 struct cuse_device *ctrlr_device = NULL;
1306 static struct cuse_device *
1309 struct cuse_device *ctrlr_device = NULL;
1310 struct cuse_device *ns_device;
1329 struct cuse_device *ctrlr_device;
1350 struct cuse_device *ctrlr_device;
1460 struct cuse_device *ctrlr_device;
1494 struct cuse_device *ctrlr_device;
1521 struct cuse_device *ns_device;