get 传入参数换行_NVME CLI源码之:get-log源码学习

本文深入探讨NVME CLI中的get-log命令,分析其源码,包括参数解析、nvme设备的打开、命令下发等步骤,详细解释了在nvme_get_log13函数中对CDW10、CDW11、CDW12和CDW13的处理过程,以符合NVME协议的要求。
摘要由CSDN通过智能技术生成

前言:

Nvme cli命令之get-log:根据nvme 协议要求和各厂商自己的需求存有不同的日志,get-log命令通过不同logid,用于读取不同的log日志。

源码开始:

我们从源码中的nvme-builtin.h文件可以看到所有的nvme command,在23行找到get-log命令,以及它指向的函数get_log。

ENTRY("get-log", "Generic NVMe get log, returns log in raw format", get_log)

我们打开get-log函数,可以看到以下为get-log的一些参数定义:

    int err, fd;    struct config {        __u32 namespace_id;        __u32 log_id;        __u32 log_len;        __u32 aen;        __u64 lpo;        __u8  lsp;        int   rae;        int   raw_binary;    };        struct config cfg = {        .namespace_id = NVME_NSID_ALL,        .log_id       = 0xffffffff,        .log_len      = 0,        .lpo          = NVME_NO_LOG_LPO,        .lsp          = NVME_NO_LOG_LSP,        .rae          = 0,    };        const struct argconfig_commandline_options command_line_options[] = {        {"namespace-id", 'n', "NUM", CFG_POSITIVE, &cfg.namespace_id, required_argument, namespace_id},        {"log-id",       'i', "NUM", CFG_POSITIVE, &cfg.log_id,       required_argument, l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值