linux/drivers/nvme/target/admin-cmd.c

// SPDX-License-Identifier: GPL-2.0
/*
 * NVMe admin command implementation.
 * Copyright (c) 2015-2016 HGST, a Western Digital Company.
 */
#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)
{}

/*
 * A "minimum viable" abort implementation: the command is mandatory in the
 * spec, but we are not required to do any useful work.  We couldn't really
 * do a useful abort, so don't bother even with waiting for the command
 * to be exectuted and return immediately telling the command to abort
 * wasn't found.
 */
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)
{}