better nvme connect idempotency
Signed-off-by: Travis Glenn Hansen <travisghansen@yahoo.com>
This commit is contained in:
parent
bb5019bd7e
commit
4e99e81255
|
|
@ -107,7 +107,11 @@ class NVMEoF {
|
||||||
try {
|
try {
|
||||||
await nvmeof.exec(nvmeof.options.paths.nvme, args);
|
await nvmeof.exec(nvmeof.options.paths.nvme, args);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (err.stderr && err.stderr.includes("already connnected")) {
|
if (
|
||||||
|
err.stderr &&
|
||||||
|
(err.stderr.includes("already connnected") ||
|
||||||
|
err.stderr.includes("Operation already in progress"))
|
||||||
|
) {
|
||||||
// idempotent
|
// idempotent
|
||||||
} else {
|
} else {
|
||||||
throw err;
|
throw err;
|
||||||
|
|
@ -258,10 +262,16 @@ class NVMEoF {
|
||||||
const nvmeof = this;
|
const nvmeof = this;
|
||||||
let result = await nvmeof.list(["-v"]);
|
let result = await nvmeof.list(["-v"]);
|
||||||
|
|
||||||
return nvmeof.getResultSubsystems(result);
|
return nvmeof.getNormalizedSubsystems(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
async getResultSubsystems(result) {
|
/**
|
||||||
|
* used to normalize subsystem list/response across different versions of nvme-cli
|
||||||
|
*
|
||||||
|
* @param {*} result
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
async getNormalizedSubsystems(result) {
|
||||||
let subsystems = [];
|
let subsystems = [];
|
||||||
|
|
||||||
for (let device of result.Devices) {
|
for (let device of result.Devices) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue