Skip to content

Commit 1425179

Browse files
francispravin5igaw
authored andcommitted
nvme-print: use NVME_GET in sanitize log
Used NVME_GET macro in sanitize log. Also, updated the print statement as per NVM Express Base Specification Revision 2.1. Signed-off-by: Francis Pravin <[email protected]>
1 parent 10e3119 commit 1425179

File tree

2 files changed

+17
-22
lines changed

2 files changed

+17
-22
lines changed

nvme-print-json.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1375,19 +1375,16 @@ static void json_sanitize_log(struct nvme_sanitize_log_page *sanitize_log,
13751375
struct json_object *r = json_create_object();
13761376
struct json_object *dev = json_create_object();
13771377
struct json_object *sstat = json_create_object();
1378+
__u16 status = le16_to_cpu(sanitize_log->sstat);
13781379
const char *status_str;
13791380
char str[128];
1380-
__u16 status = le16_to_cpu(sanitize_log->sstat);
13811381

13821382
obj_add_int(dev, "sprog", le16_to_cpu(sanitize_log->sprog));
1383-
obj_add_int(sstat, "global_erased", (status & NVME_SANITIZE_SSTAT_GLOBAL_DATA_ERASED) >> 8);
1384-
obj_add_int(sstat, "no_cmplted_passes",
1385-
(status >> NVME_SANITIZE_SSTAT_COMPLETED_PASSES_SHIFT) &
1386-
NVME_SANITIZE_SSTAT_COMPLETED_PASSES_MASK);
1383+
obj_add_int(sstat, "global_erased", NVME_GET(status, SANITIZE_SSTAT_GLOBAL_DATA_ERASED));
1384+
obj_add_int(sstat, "no_cmplted_passes", NVME_GET(status, SANITIZE_SSTAT_COMPLETED_PASSES));
13871385

13881386
status_str = nvme_sstat_status_to_string(status);
1389-
sprintf(str, "(%d) %s", status & NVME_SANITIZE_SSTAT_STATUS_MASK,
1390-
status_str);
1387+
sprintf(str, "(%d) %s", NVME_GET(status, SANITIZE_SSTAT_STATUS), status_str);
13911388
obj_add_str(sstat, "status", str);
13921389

13931390
obj_add_obj(dev, "sstat", sstat);

nvme-print-stdout.c

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4187,23 +4187,21 @@ static void stdout_sanitize_log_sprog(__u32 sprog)
41874187
static void stdout_sanitize_log_sstat(__u16 status)
41884188
{
41894189
const char *str = nvme_sstat_status_to_string(status);
4190+
__u16 gde;
41904191

4191-
printf("\t[2:0]\t%s\n", str);
4192-
str = "Number of completed passes if most recent operation was overwrite";
4193-
printf("\t[7:3]\t%s:\t%u\n", str,
4194-
(status >> NVME_SANITIZE_SSTAT_COMPLETED_PASSES_SHIFT) &
4195-
NVME_SANITIZE_SSTAT_COMPLETED_PASSES_MASK);
4196-
4197-
printf("\t [8]\t");
4198-
if (status & NVME_SANITIZE_SSTAT_GLOBAL_DATA_ERASED)
4199-
str = "Global Data Erased set: no NS LB in the NVM subsystem "\
4200-
"has been written to and no PMR in the NVM subsystem "\
4201-
"has been enabled";
4192+
printf(" [2:0] : Sanitize Operation Status : %#x\t%s\n",
4193+
NVME_GET(status, SANITIZE_SSTAT_STATUS), str);
4194+
printf(" [7:3] : Overwrite Passes Completed : %u\n",
4195+
NVME_GET(status, SANITIZE_SSTAT_COMPLETED_PASSES));
4196+
4197+
gde = NVME_GET(status, SANITIZE_SSTAT_GLOBAL_DATA_ERASED);
4198+
if (gde)
4199+
str = "No user data has been written in the NVM subsystem and"\
4200+
" no PMR has been enabled in the NVM subsystem";
42024201
else
4203-
str = "Global Data Erased cleared: a NS LB in the NVM "\
4204-
"subsystem has been written to or a PMR in the NVM "\
4205-
"subsystem has been enabled";
4206-
printf("%s\n", str);
4202+
str = "User data has been written in the NVM subsystem or"\
4203+
" PMR has been enabled in the NVM subsystem";
4204+
printf(" [8:8] : Global Data Erased : %#x\t%s\n", gde, str);
42074205
}
42084206

42094207
static void stdout_estimate_sanitize_time(const char *text, uint32_t value)

0 commit comments

Comments
 (0)