mirror of
https://github.com/systemd/systemd.git
synced 2024-11-23 10:13:34 +08:00
storagetm: add --list-devices command
This commit is contained in:
parent
3a37a13a02
commit
a90682f981
@ -90,6 +90,17 @@
|
||||
|
||||
<xi:include href="version-info.xml" xpointer="v255"/></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--list-devices</option></term>
|
||||
|
||||
<listitem><para>Show a list of candidate block devices this command may operate on. Specifically,
|
||||
this enumerates block devices currently present, and shows their device node paths along with any of
|
||||
their symlinks.</para>
|
||||
|
||||
<xi:include href="version-info.xml" xpointer="v257"/></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="help" />
|
||||
<xi:include href="standard-options.xml" xpointer="version" />
|
||||
</variablelist>
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
#include "af-list.h"
|
||||
#include "alloc-util.h"
|
||||
#include "blockdev-list.h"
|
||||
#include "blockdev-util.h"
|
||||
#include "build.h"
|
||||
#include "daemon-util.h"
|
||||
@ -50,6 +51,7 @@ static int help(void) {
|
||||
" --version Show package version\n"
|
||||
" --nqn=STRING Select NQN (NVMe Qualified Name)\n"
|
||||
" -a --all Expose all devices\n"
|
||||
" --list-devices List candidate block devices to operate on\n"
|
||||
"\nSee the %s for details.\n",
|
||||
program_invocation_short_name,
|
||||
ansi_highlight(),
|
||||
@ -64,13 +66,15 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
enum {
|
||||
ARG_NQN = 0x100,
|
||||
ARG_VERSION,
|
||||
ARG_LIST_DEVICES,
|
||||
};
|
||||
|
||||
static const struct option options[] = {
|
||||
{ "help", no_argument, NULL, 'h' },
|
||||
{ "version", no_argument, NULL, ARG_VERSION },
|
||||
{ "nqn", required_argument, NULL, ARG_NQN },
|
||||
{ "all", no_argument, NULL, 'a' },
|
||||
{ "help", no_argument, NULL, 'h' },
|
||||
{ "version", no_argument, NULL, ARG_VERSION },
|
||||
{ "nqn", required_argument, NULL, ARG_NQN },
|
||||
{ "all", no_argument, NULL, 'a' },
|
||||
{ "list-devices", no_argument, NULL, ARG_LIST_DEVICES },
|
||||
{}
|
||||
};
|
||||
|
||||
@ -102,6 +106,13 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
arg_all++;
|
||||
break;
|
||||
|
||||
case ARG_LIST_DEVICES:
|
||||
r = blockdev_list(BLOCKDEV_LIST_SHOW_SYMLINKS|BLOCKDEV_LIST_IGNORE_ZRAM);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
return 0;
|
||||
|
||||
case '?':
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -3,6 +3,8 @@
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
/usr/lib/systemd/systemd-storagetm --list-devices
|
||||
|
||||
modprobe -v nvmet-tcp
|
||||
modprobe -v nvme-tcp
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user