Skip to content

Commit ba678dd

Browse files
committed
feat: use nvme_show_err() helper function
It introduced to handle the negative error and the postive status codes. Then reduce the duplicated error and status codes output implementation. Signed-off-by: Tokunori Ikegami <[email protected]>
1 parent 94d4b04 commit ba678dd

1 file changed

Lines changed: 88 additions & 104 deletions

File tree

plugins/feat/feat-nvme.c

Lines changed: 88 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -72,20 +72,18 @@ static int feat_get(struct nvme_transport_handle *hdl, const __u8 fid,
7272

7373
err = nvme_get_features(hdl, 0, fid, sel, cdw11, uidx, buf, len,
7474
&result);
75+
if (err) {
76+
nvme_show_err(err, "Get %s", feat);
77+
return err;
78+
}
7579

7680
nvme_show_init();
7781

78-
if (!err) {
79-
nvme_feature_show(fid, sel, result);
80-
if (NVME_CHECK(sel, GET_FEATURES_SEL, SUPPORTED))
81-
nvme_show_select_result(fid, result);
82-
else
83-
nvme_feature_show_fields(fid, result, buf);
84-
} else if (err > 0) {
85-
nvme_show_status(err);
86-
} else {
87-
nvme_show_error("Get %s: %s", feat, nvme_strerror(errno));
88-
}
82+
nvme_feature_show(fid, sel, result);
83+
if (NVME_CHECK(sel, GET_FEATURES_SEL, SUPPORTED))
84+
nvme_show_select_result(fid, result);
85+
else
86+
nvme_feature_show_fields(fid, result, buf);
8987

9088
nvme_show_finish();
9189

@@ -102,17 +100,16 @@ static int power_mgmt_set(struct nvme_transport_handle *hdl, const __u8 fid,
102100
err = nvme_set_features(hdl, 0, fid, sv, cdw11, 0, 0, 0, 0, NULL, 0,
103101
&result);
104102

103+
if (err) {
104+
nvme_show_err(err, "Set %s", power_mgmt_feat);
105+
return err;
106+
}
107+
105108
nvme_show_init();
106109

107-
if (err > 0) {
108-
nvme_show_status(err);
109-
} else if (err < 0) {
110-
nvme_show_perror("Set %s", power_mgmt_feat);
111-
} else {
112-
nvme_show_result("Set %s: 0x%04x (%s)", power_mgmt_feat, cdw11,
113-
sv ? "Save" : "Not save");
114-
nvme_feature_show_fields(fid, cdw11, NULL);
115-
}
110+
nvme_show_result("Set %s: 0x%04x (%s)", power_mgmt_feat, cdw11,
111+
sv ? "Save" : "Not save");
112+
nvme_feature_show_fields(fid, cdw11, NULL);
116113

117114
nvme_show_finish();
118115

@@ -194,18 +191,16 @@ static int perfc_set(struct nvme_transport_handle *hdl, __u8 fid, __u32 cdw11,
194191

195192
err = nvme_set_features(hdl, 0, fid, sv, cdw11, 0, 0, 0, 0, &data,
196193
sizeof(data), &result);
194+
if (err) {
195+
nvme_show_err(err, "Set %s", perfc_feat);
196+
return err;
197+
}
197198

198199
nvme_show_init();
199200

200-
if (err > 0) {
201-
nvme_show_status(err);
202-
} else if (err < 0) {
203-
nvme_show_perror("Set %s", perfc_feat);
204-
} else {
205-
nvme_show_result("Set %s: 0x%04x (%s)", perfc_feat, cdw11,
206-
sv ? "Save" : "Not save");
207-
nvme_feature_show_fields(fid, cdw11, NULL);
208-
}
201+
nvme_show_result("Set %s: 0x%04x (%s)", perfc_feat, cdw11,
202+
sv ? "Save" : "Not save");
203+
nvme_feature_show_fields(fid, cdw11, NULL);
209204

210205
nvme_show_finish();
211206

@@ -266,18 +261,16 @@ static int hctm_set(struct nvme_transport_handle *hdl, const __u8 fid,
266261

267262
err = nvme_set_features(hdl, 0, fid, sv, cdw11, 0, 0, 0, 0, NULL, 0,
268263
&result);
264+
if (err) {
265+
nvme_show_err(err, "Set %s", hctm_feat);
266+
return err;
267+
}
269268

270269
nvme_show_init();
271270

272-
if (err > 0) {
273-
nvme_show_status(err);
274-
} else if (err < 0) {
275-
nvme_show_perror("Set %s", hctm_feat);
276-
} else {
277-
nvme_show_result("Set %s: 0x%04x (%s)", hctm_feat, cdw11,
278-
sv ? "Save" : "Not save");
279-
nvme_feature_show_fields(fid, cdw11, NULL);
280-
}
271+
nvme_show_result("Set %s: 0x%04x (%s)", hctm_feat, cdw11,
272+
sv ? "Save" : "Not save");
273+
nvme_feature_show_fields(fid, cdw11, NULL);
281274

282275
nvme_show_finish();
283276

@@ -330,17 +323,16 @@ static int timestamp_set(struct nvme_transport_handle *hdl, const __u8 fid,
330323

331324
err = nvme_set_features(hdl, 0, fid, sv, 0, 0, 0, 0, 0, &ts, sizeof(ts),
332325
&result);
326+
if (err) {
327+
nvme_show_err(err, "Set %s", timestamp_feat);
328+
return err;
329+
}
333330

334331
nvme_show_init();
335332

336-
if (err > 0) {
337-
nvme_show_status(err);
338-
} else if (err < 0) {
339-
nvme_show_perror("Set %s", timestamp_feat);
340-
} else {
341-
nvme_show_result("Set %s: (%s)", timestamp_feat, sv ? "Save" : "Not save");
342-
nvme_feature_show_fields(fid, 0, (unsigned char *)&ts);
343-
}
333+
nvme_show_result("Set %s: (%s)", timestamp_feat,
334+
sv ? "Save" : "Not save");
335+
nvme_feature_show_fields(fid, 0, (unsigned char *)&ts);
344336

345337
nvme_show_finish();
346338

@@ -409,20 +401,19 @@ static int temp_thresh_set(struct nvme_transport_handle *hdl, const __u8 fid,
409401
nvme_init_set_features_temp_thresh(&cmd, sv, cfg->tmpth, cfg->tmpsel,
410402
cfg->thsel, cfg->tmpthh);
411403
err = nvme_submit_admin_passthru(hdl, &cmd);
404+
if (err) {
405+
nvme_show_err(err, "Set %s", temp_thresh_feat);
406+
return err;
407+
}
412408

413409
nvme_show_init();
414410

415-
if (err > 0) {
416-
nvme_show_status(err);
417-
} else if (err < 0) {
418-
nvme_show_perror("Set %s", temp_thresh_feat);
419-
} else {
420-
nvme_show_result("Set %s: (%s)", temp_thresh_feat, sv ? "Save" : "Not save");
421-
nvme_feature_show_fields(fid, NVME_SET(cfg->tmpth, FEAT_TT_TMPTH) |
422-
NVME_SET(cfg->tmpsel, FEAT_TT_TMPSEL) |
423-
NVME_SET(cfg->thsel, FEAT_TT_THSEL) |
424-
NVME_SET(cfg->tmpthh, FEAT_TT_TMPTHH), NULL);
425-
}
411+
nvme_show_result("Set %s: (%s)", temp_thresh_feat,
412+
sv ? "Save" : "Not save");
413+
nvme_feature_show_fields(fid, NVME_SET(cfg->tmpth, FEAT_TT_TMPTH) |
414+
NVME_SET(cfg->tmpsel, FEAT_TT_TMPSEL) |
415+
NVME_SET(cfg->thsel, FEAT_TT_THSEL) |
416+
NVME_SET(cfg->tmpthh, FEAT_TT_TMPTHH), NULL);
426417

427418
nvme_show_finish();
428419

@@ -496,20 +487,21 @@ static int arbitration_set(struct nvme_transport_handle *hdl, const __u8 fid,
496487
nvme_init_set_features_arbitration(&cmd, sv, cfg->ab, cfg->lpw,
497488
cfg->mpw, cfg->hpw);
498489
err = nvme_submit_admin_passthru(hdl, &cmd);
490+
if (err) {
491+
nvme_show_err(err, "Set %s", arbitration_feat);
492+
return err;
493+
}
499494

500495
nvme_show_init();
501496

502-
if (err > 0) {
503-
nvme_show_status(err);
504-
} else if (err < 0) {
505-
nvme_show_perror("Set %s", arbitration_feat);
506-
} else {
507-
nvme_show_result("Set %s: (%s)", arbitration_feat, sv ? "Save" : "Not save");
508-
nvme_feature_show_fields(fid, NVME_SET(cfg->ab, FEAT_ARBITRATION_BURST) |
509-
NVME_SET(cfg->lpw, FEAT_ARBITRATION_LPW) |
510-
NVME_SET(cfg->mpw, FEAT_ARBITRATION_MPW) |
511-
NVME_SET(cfg->hpw, FEAT_ARBITRATION_HPW), NULL);
512-
}
497+
nvme_show_result("Set %s: (%s)", arbitration_feat,
498+
sv ? "Save" : "Not save");
499+
nvme_feature_show_fields(fid,
500+
NVME_SET(cfg->ab, FEAT_ARBITRATION_BURST) |
501+
NVME_SET(cfg->lpw, FEAT_ARBITRATION_LPW) |
502+
NVME_SET(cfg->mpw, FEAT_ARBITRATION_MPW) |
503+
NVME_SET(cfg->hpw, FEAT_ARBITRATION_HPW),
504+
NULL);
513505

514506
nvme_show_finish();
515507

@@ -555,18 +547,16 @@ static int volatile_wc_set(struct nvme_transport_handle *hdl, const __u8 fid,
555547

556548
err = nvme_set_features(hdl, 0, fid, sv, cdw11, 0, 0, 0, 0, NULL, 0,
557549
&result);
550+
if (err) {
551+
nvme_show_err(err, "Set %s", volatile_wc_feat);
552+
return err;
553+
}
558554

559555
nvme_show_init();
560556

561-
if (err > 0) {
562-
nvme_show_status(err);
563-
} else if (err < 0) {
564-
nvme_show_perror("Set %s", volatile_wc_feat);
565-
} else {
566-
nvme_show_result("Set %s: 0x%04x (%s)", volatile_wc_feat, cdw11,
567-
sv ? "Save" : "Not save");
568-
nvme_feature_show_fields(fid, cdw11, NULL);
569-
}
557+
nvme_show_result("Set %s: 0x%04x (%s)", volatile_wc_feat, cdw11,
558+
sv ? "Save" : "Not save");
559+
nvme_feature_show_fields(fid, cdw11, NULL);
570560

571561
nvme_show_finish();
572562

@@ -614,18 +604,16 @@ static int power_limit_set(struct nvme_transport_handle *hdl, const __u8 fid,
614604

615605
err = nvme_set_features(hdl, 0, fid, sv, 0, 0, cdw13, uidx, 0, NULL, 0,
616606
&result);
607+
if (err) {
608+
nvme_show_err(err, "Set %s", power_limit_feat);
609+
return err;
610+
}
617611

618612
nvme_show_init();
619613

620-
if (err > 0) {
621-
nvme_show_status(err);
622-
} else if (err < 0) {
623-
nvme_show_perror("Set %s", power_limit_feat);
624-
} else {
625-
nvme_show_result("Set %s: 0x%04x (%s)", power_limit_feat, cdw13,
626-
sv ? "Save" : "Not save");
627-
nvme_feature_show_fields(fid, cdw13, NULL);
628-
}
614+
nvme_show_result("Set %s: 0x%04x (%s)", power_limit_feat, cdw13,
615+
sv ? "Save" : "Not save");
616+
nvme_feature_show_fields(fid, cdw13, NULL);
629617

630618
nvme_show_finish();
631619

@@ -686,18 +674,16 @@ static int power_thresh_set(struct nvme_transport_handle *hdl, const __u8 fid,
686674

687675
err = nvme_set_features(hdl, 0, fid, sv, cdw11, 0, 0, uidx, 0, NULL, 0,
688676
&result);
677+
if (err) {
678+
nvme_show_err(err, "Set %s", power_thresh_feat);
679+
return err;
680+
}
689681

690682
nvme_show_init();
691683

692-
if (err > 0) {
693-
nvme_show_status(err);
694-
} else if (err < 0) {
695-
nvme_show_perror("Set %s", power_thresh_feat);
696-
} else {
697-
nvme_show_result("Set %s: 0x%04x (%s)", power_thresh_feat,
698-
cdw11, sv ? "Save" : "Not save");
699-
nvme_feature_show_fields(fid, cdw11, NULL);
700-
}
684+
nvme_show_result("Set %s: 0x%04x (%s)", power_thresh_feat,
685+
cdw11, sv ? "Save" : "Not save");
686+
nvme_feature_show_fields(fid, cdw11, NULL);
701687

702688
nvme_show_finish();
703689

@@ -766,18 +752,16 @@ static int power_meas_set(struct nvme_transport_handle *hdl, const __u8 fid,
766752

767753
err = nvme_set_features(hdl, 0, fid, sv, cdw11, 0, 0, uidx, 0, NULL, 0,
768754
&result);
755+
if (err) {
756+
nvme_show_err(err, "Set %s", power_meas_feat);
757+
return err;
758+
}
769759

770760
nvme_show_init();
771761

772-
if (err > 0) {
773-
nvme_show_status(err);
774-
} else if (err < 0) {
775-
nvme_show_perror("Set %s", power_meas_feat);
776-
} else {
777-
nvme_show_result("Set %s: 0x%04x (%s)", power_meas_feat, cdw11,
778-
sv ? "Save" : "Not save");
779-
nvme_feature_show_fields(fid, cdw11, NULL);
780-
}
762+
nvme_show_result("Set %s: 0x%04x (%s)", power_meas_feat, cdw11,
763+
sv ? "Save" : "Not save");
764+
nvme_feature_show_fields(fid, cdw11, NULL);
781765

782766
nvme_show_finish();
783767

0 commit comments

Comments
 (0)