nvme_ns
struct nvme_ns *ns = hctx->queue->queuedata;
blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
u32 nvme_command_effects(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u8 opcode)
u32 nvme_passthru_start(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u8 opcode)
void nvme_passthru_end(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u32 effects,
static int nvme_ns_open(struct nvme_ns *ns)
static void nvme_ns_release(struct nvme_ns *ns)
static void nvme_config_discard(struct nvme_ns *ns, struct queue_limits *lim)
static u32 nvme_configure_atomic_write(struct nvme_ns *ns,
static bool nvme_update_disk_info(struct nvme_ns *ns, struct nvme_id_ns *id,
static bool nvme_ns_is_readonly(struct nvme_ns *ns, struct nvme_ns_info *info)
static void nvme_set_chunk_sectors(struct nvme_ns *ns, struct nvme_id_ns *id,
static int nvme_update_ns_info_generic(struct nvme_ns *ns,
static int nvme_query_fdp_info(struct nvme_ns *ns, struct nvme_ns_info *info)
static int nvme_update_ns_info_block(struct nvme_ns *ns,
static int nvme_update_ns_info(struct nvme_ns *ns, struct nvme_ns_info *info)
int nvme_ns_get_unique_id(struct nvme_ns *ns, u8 id[16],
struct nvme_ns *ns = req->q->queuedata;
struct nvme_ns *ns = req->q->queuedata;
return nvme_ns_open(container_of(inode->i_cdev, struct nvme_ns, cdev));
nvme_ns_release(container_of(inode->i_cdev, struct nvme_ns, cdev));
static int nvme_add_ns_cdev(struct nvme_ns *ns)
size += num_possible_nodes() * sizeof(struct nvme_ns *);
static int nvme_init_ns_head(struct nvme_ns *ns, struct nvme_ns_info *info)
struct nvme_ns *nvme_find_get_ns(struct nvme_ctrl *ctrl, unsigned nsid)
struct nvme_ns *ns, *ret = NULL;
static void nvme_ns_add_to_ctrl_list(struct nvme_ns *ns)
struct nvme_ns *tmp;
struct nvme_ns *ns;
static void nvme_ns_remove(struct nvme_ns *ns)
struct nvme_ns *ns = nvme_find_get_ns(ctrl, nsid);
static void nvme_validate_ns(struct nvme_ns *ns, struct nvme_ns_info *info)
struct nvme_ns *ns = req->q->queuedata;
struct nvme_ns *ns;
struct nvme_ns *ns, *next;
struct nvme_ns *ns, *next;
struct nvme_ns *ns;
struct nvme_ns *ns;
struct nvme_ns *ns;
struct nvme_ns *ns;
struct nvme_ns *ns;
struct nvme_ns *ns;
struct nvme_ns *ns = container_of(kref, struct nvme_ns, kref);
bool nvme_get_ns(struct nvme_ns *ns)
void nvme_put_ns(struct nvme_ns *ns)
struct nvme_ns *ns = req->q->disk->private_data;
static inline void nvme_setup_flush(struct nvme_ns *ns,
static blk_status_t nvme_setup_discard(struct nvme_ns *ns, struct request *req,
static void nvme_set_ref_tag(struct nvme_ns *ns, struct nvme_command *cmnd,
static inline blk_status_t nvme_setup_write_zeroes(struct nvme_ns *ns,
static inline blk_status_t nvme_setup_rw(struct nvme_ns *ns,
struct nvme_ns *ns = disk->private_data;
struct nvme_ns *ns = hctx->queue->queuedata;
struct nvme_ns *ns = q->queuedata;
struct nvme_ns *ns = q->queuedata;
static bool nvme_cmd_allowed(struct nvme_ns *ns, struct nvme_command *c,
static int nvme_submit_io(struct nvme_ns *ns, struct nvme_user_io __user *uio)
struct nvme_ns *ns, __u32 nsid)
static int nvme_user_cmd(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
static int nvme_user_cmd64(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
static int nvme_uring_cmd_io(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
static int nvme_ns_ioctl(struct nvme_ns *ns, unsigned int cmd,
struct nvme_ns *ns = bdev->bd_disk->private_data;
struct nvme_ns *ns =
container_of(file_inode(file)->i_cdev, struct nvme_ns, cdev);
static int nvme_ns_uring_cmd(struct nvme_ns *ns, struct io_uring_cmd *ioucmd,
struct nvme_ns *ns = container_of(file_inode(ioucmd->file)->i_cdev,
struct nvme_ns, cdev);
static int nvme_ns_head_ctrl_ioctl(struct nvme_ns *ns, unsigned int cmd,
struct nvme_ns *ns;
struct nvme_ns *ns;
struct nvme_ns *ns = nvme_find_path(head);
struct nvme_ns *ns;
ns = list_first_or_null_rcu(&ctrl->namespaces, struct nvme_ns, list);
if (ns != list_last_entry(&ctrl->namespaces, struct nvme_ns, list)) {
struct nvme_ns *ns = nvme_get_ns_from_dev(dev);
struct nvme_ns *ns = nvme_get_ns_from_dev(dev);
struct nvme_ns *current_ns;
struct nvme_ns *ns = nvme_get_ns_from_dev(dev);
struct nvme_ns *ns;
void nvme_mpath_remove_sysfs_link(struct nvme_ns *ns)
void nvme_mpath_add_disk(struct nvme_ns *ns, __le32 anagrpid)
struct nvme_ns *ns = req->q->queuedata;
struct nvme_ns *ns = rq->q->queuedata;
struct nvme_ns *ns = rq->q->queuedata;
struct nvme_ns *ns;
bool nvme_mpath_clear_current_path(struct nvme_ns *ns)
struct nvme_ns *ns;
void nvme_mpath_revalidate_paths(struct nvme_ns *ns)
static bool nvme_path_is_disabled(struct nvme_ns *ns)
static struct nvme_ns *__nvme_find_path(struct nvme_ns_head *head, int node)
struct nvme_ns *found = NULL, *fallback = NULL, *ns;
static struct nvme_ns *nvme_next_ns(struct nvme_ns_head *head,
struct nvme_ns *ns)
ns = list_next_or_null_rcu(&head->list, &ns->siblings, struct nvme_ns,
return list_first_or_null_rcu(&head->list, struct nvme_ns, siblings);
static struct nvme_ns *nvme_round_robin_path(struct nvme_ns_head *head)
struct nvme_ns *ns, *found = NULL;
struct nvme_ns *old = srcu_dereference(head->current_path[node],
static struct nvme_ns *nvme_queue_depth_path(struct nvme_ns_head *head)
struct nvme_ns *best_opt = NULL, *best_nonopt = NULL, *ns;
static inline bool nvme_path_is_optimized(struct nvme_ns *ns)
static struct nvme_ns *nvme_numa_path(struct nvme_ns_head *head)
struct nvme_ns *ns;
inline struct nvme_ns *nvme_find_path(struct nvme_ns_head *head)
struct nvme_ns *ns;
struct nvme_ns *ns;
struct nvme_ns *ns;
struct nvme_ns *ns;
static void nvme_mpath_set_live(struct nvme_ns *ns)
struct nvme_ns *ns)
struct nvme_ns *ns;
struct nvme_ns *nvme_find_path(struct nvme_ns_head *head);
void nvme_mpath_remove_sysfs_link(struct nvme_ns *ns);
void nvme_mpath_add_disk(struct nvme_ns *ns, __le32 anagrpid);
bool nvme_mpath_clear_current_path(struct nvme_ns *ns);
void nvme_mpath_revalidate_paths(struct nvme_ns *ns);
struct nvme_ns *ns = req->q->queuedata;
static inline void nvme_mpath_add_disk(struct nvme_ns *ns, __le32 anagrpid)
static inline void nvme_mpath_add_sysfs_link(struct nvme_ns *ns)
static inline void nvme_mpath_remove_sysfs_link(struct nvme_ns *ns)
static inline bool nvme_mpath_clear_current_path(struct nvme_ns *ns)
static inline void nvme_mpath_revalidate_paths(struct nvme_ns *ns)
int nvme_ns_get_unique_id(struct nvme_ns *ns, u8 id[16],
int nvme_ns_report_zones(struct nvme_ns *ns, sector_t sector,
int nvme_query_zone_info(struct nvme_ns *ns, unsigned lbaf,
void nvme_update_zone_info(struct nvme_ns *ns, struct queue_limits *lim,
blk_status_t nvme_setup_zone_mgmt_send(struct nvme_ns *ns, struct request *req,
static inline blk_status_t nvme_setup_zone_mgmt_send(struct nvme_ns *ns,
static inline struct nvme_ns *nvme_get_ns_from_dev(struct device *dev)
u32 nvme_command_effects(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
u32 nvme_passthru_start(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u8 opcode);
void nvme_passthru_end(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u32 effects,
struct nvme_ns *nvme_find_get_ns(struct nvme_ctrl *ctrl, unsigned nsid);
bool nvme_get_ns(struct nvme_ns *ns);
void nvme_put_ns(struct nvme_ns *ns);
struct nvme_ns __rcu *current_path[];
blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req);
struct nvme_ns *ns = nvme_find_path(head);
static int nvme_send_ns_pr_command(struct nvme_ns *ns, struct nvme_command *c,
struct nvme_ns *ns = rq->q->queuedata;
struct nvme_ns *ns = hctx->queue->queuedata;
struct nvme_ns *ns;
static int ns_update_nuse(struct nvme_ns *ns)
static blk_status_t nvme_tcp_setup_cmd_pdu(struct nvme_ns *ns,
struct nvme_ns *ns = hctx->queue->queuedata;
void nvme_update_zone_info(struct nvme_ns *ns, struct queue_limits *lim,
static void *nvme_zns_alloc_report_buffer(struct nvme_ns *ns,
static int nvme_zone_parse_entry(struct nvme_ns *ns,
int nvme_ns_report_zones(struct nvme_ns *ns, sector_t sector,
blk_status_t nvme_setup_zone_mgmt_send(struct nvme_ns *ns, struct request *req,
int nvme_query_zone_info(struct nvme_ns *ns, unsigned lbaf,
struct nvme_ns *ns = hctx->queue->queuedata;
struct nvme_ns *ns = rq->q->queuedata;
struct nvme_ns *ns = NULL;