arg(nosuffix_ARG, '\0', "nosuffix", NULL)
arg(removemissing_ARG, '\0', "removemissing", NULL)
arg(abort_ARG, '\0', "abort", NULL)
+arg(mknodes_ARG, '\0', "mknodes", NULL)
/* Allow some variations */
arg(resizable_ARG, '\0', "resizable", yes_no_arg)
"\t[-d|--debug]\n"
"\t[-h|--help]\n"
"\t[--ignorelockingfailure]\n"
+ "\t[--mknodes]\n"
"\t[-P|--partial] " "\n"
"\t[-v|--verbose]\n"
"\t[--version]" "\n",
- ignorelockingfailure_ARG, partial_ARG)
+ ignorelockingfailure_ARG, mknodes_ARG, partial_ARG)
xx(vgsplit,
"Move physical volumes into a new volume group",
int vgscan(struct cmd_context *cmd, int argc, char **argv)
{
+ int maxret, ret;
+
if (argc) {
log_error("Too many parameters on command line");
return EINVALID_CMD_LINE;
log_print("Reading all physical volumes. This may take a while...");
- return process_each_vg(cmd, argc, argv, LCK_VG_READ, 1, NULL,
- &vgscan_single);
+ maxret = process_each_vg(cmd, argc, argv, LCK_VG_READ, 1, NULL,
+ &vgscan_single);
+
+ if (arg_count(cmd, mknodes_ARG)) {
+ ret = vgmknodes(cmd, argc, argv);
+ if (ret > maxret)
+ maxret = ret;
+ }
+
+ return maxret;
}