| NVME-ID-NS(1) | NVMe Manual | NVME-ID-NS(1) |
نام (NAME)
nvme-id-ns - ارسال ساختار شناسایی فضای نام NVMe
خلاصه دستور (SYNOPSIS)
nvme id-ns <device> [--vendor-specific | -v] [--raw-binary | -b]
[--namespace-id=<nsid> | -n <nsid>] [--force]
[--human-readable | -H]
[--output-format=<fmt> | -o <fmt>] [--verbose | -v]
توضیحات (DESCRIPTION)
برای دستگاه NVMe دادهشده، یک دستور شناسایی فضای نام ارسال کرده و نتیجه و ساختار بازگرداندهشده را ارائه میدهد.
پارامتر <device> اجباری است و میتواند یک دستگاه کاراکتری NVMe (مانند /dev/nvme0) یا یک دستگاه بلوکی فضای نام (مانند /dev/nvme0n1) باشد. اگر دستگاه کاراکتری داده شود، گزینه '--namespace-id' اجباری است، در غیر این صورت از ns-id فضای نام مربوط به دستگاه بلوکی که باز کردهاید استفاده خواهد شد. برای دستگاههای بلوکی، مقدار ns-id مورد استفاده را میتوان با همین گزینه لغو و جایگزین (override) کرد.
در صورت موفقیت، بسته به فلگهای گزینه، ساختار ممکن است به یکی از چندین شیوه بازگردانده شود؛ ساختار میتواند توسط برنامه پردازش و تجزیه شود یا بافر خام به خروجی استاندارد (stdout) ارسال گردد.
گزینهها (OPTIONS)
-n <nsid>, --namespace-id=<nsid>
--force
-b, --raw-binary
-V, --vendor-specific
-H, --human-readable
-o <fmt>, --output-format=<fmt>
-v, --verbose
مثالها (EXAMPLES)
# nvme id-ns /dev/nvme0n1
# nvme id-ns /dev/nvme0 -n 1 # nvme id-ns /dev/nvme0n1 -n 1 # nvme id-ns /dev/nvme0 --namespace-id=1
# nvme id-ns /dev/nvme0n1 --vendor-specific # nvme id-ns /dev/nvme0n1 -V
دستور بالا بافر 'vs' را بهصورت هگزادسیمال تخلیه میکند، زیرا روش تفسیر آن را نمیداند.
# nvme id-ns /dev/nvme0n1 --raw-binary > id_ns.raw # nvme id-ns /dev/nvme0n1 -b > id_ns.raw
تغییر مسیر ندادن خروجی استاندارد (stdout) هنگام استفاده از این حالت احتمالاً ایده مناسبی نیست.
# nvme id-ns /dev/nvme0n1 --raw-binary | nvme_parse_id_ns
برنامه تجزیهکننده در مثال بالا میتواند برنامهای باشد که ساختار را به شیوه دلخواه شما نشان میدهد. برنامه زیر نمونهای از چنین برنامهای است که آن را تجزیه میکند و میتواند خروجی را از طریق یک لوله (pipe)، '|'، همانطور که در مثال بالا نشان داده شده دریافت کند، یا میتوانید با 'cat' یک بافر خروجی ذخیرهشده را به ورودی آن ارسال کنید.
/* File: nvme_parse_id_ns.c */
#include <linux/nvme.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc, char **argv)
{
unsigned char buf[sizeof(struct nvme_id_ns)];
struct nvme_id_ns *ns = (struct nvme_id_ns *)buf;
if (read(STDIN_FILENO, buf, sizeof(buf)))
return 1;
printf("nsze : %#llx\n", ns->nsze);
printf("ncap : %#llx\n", ns->ncap);
return 0;
}
NVME
بخشی از مجموعه nvme-user
| 02/16/2026 | NVMe |