#define pr_fmt(fmt) …
#include <linux/module.h>
#include <linux/rculist.h>
#include <linux/part_stat.h>
#include <generated/utsrelease.h>
#include <asm/unaligned.h>
#include "nvmet.h"
u32 nvmet_get_log_page_len(struct nvme_command *cmd)
{ … }
static u32 nvmet_feat_data_len(struct nvmet_req *req, u32 cdw10)
{ … }
u64 nvmet_get_log_page_offset(struct nvme_command *cmd)
{ … }
static void nvmet_execute_get_log_page_noop(struct nvmet_req *req)
{ … }
static void nvmet_execute_get_log_page_error(struct nvmet_req *req)
{ … }
static u16 nvmet_get_smart_log_nsid(struct nvmet_req *req,
struct nvme_smart_log *slog)
{ … }
static u16 nvmet_get_smart_log_all(struct nvmet_req *req,
struct nvme_smart_log *slog)
{ … }
static void nvmet_execute_get_log_page_smart(struct nvmet_req *req)
{ … }
static void nvmet_get_cmd_effects_nvm(struct nvme_effects_log *log)
{ … }
static void nvmet_get_cmd_effects_zns(struct nvme_effects_log *log)
{ … }
static void nvmet_execute_get_log_cmd_effects_ns(struct nvmet_req *req)
{ … }
static void nvmet_execute_get_log_changed_ns(struct nvmet_req *req)
{ … }
static u32 nvmet_format_ana_group(struct nvmet_req *req, u32 grpid,
struct nvme_ana_group_desc *desc)
{ … }
static void nvmet_execute_get_log_page_ana(struct nvmet_req *req)
{ … }
static void nvmet_execute_get_log_page(struct nvmet_req *req)
{ … }
static void nvmet_execute_identify_ctrl(struct nvmet_req *req)
{ … }
static void nvmet_execute_identify_ns(struct nvmet_req *req)
{ … }
static void nvmet_execute_identify_nslist(struct nvmet_req *req)
{ … }
static u16 nvmet_copy_ns_identifier(struct nvmet_req *req, u8 type, u8 len,
void *id, off_t *off)
{ … }
static void nvmet_execute_identify_desclist(struct nvmet_req *req)
{ … }
static void nvmet_execute_identify_ctrl_nvm(struct nvmet_req *req)
{ … }
static void nvmet_execute_identify(struct nvmet_req *req)
{ … }
static void nvmet_execute_abort(struct nvmet_req *req)
{ … }
static u16 nvmet_write_protect_flush_sync(struct nvmet_req *req)
{ … }
static u16 nvmet_set_feat_write_protect(struct nvmet_req *req)
{ … }
u16 nvmet_set_feat_kato(struct nvmet_req *req)
{ … }
u16 nvmet_set_feat_async_event(struct nvmet_req *req, u32 mask)
{ … }
void nvmet_execute_set_features(struct nvmet_req *req)
{ … }
static u16 nvmet_get_feat_write_protect(struct nvmet_req *req)
{ … }
void nvmet_get_feat_kato(struct nvmet_req *req)
{ … }
void nvmet_get_feat_async_event(struct nvmet_req *req)
{ … }
void nvmet_execute_get_features(struct nvmet_req *req)
{ … }
void nvmet_execute_async_event(struct nvmet_req *req)
{ … }
void nvmet_execute_keep_alive(struct nvmet_req *req)
{ … }
u16 nvmet_parse_admin_cmd(struct nvmet_req *req)
{ … }