From: Denis Mukhin <[email protected]> Introduce `nvme flush` to allow users to commit all dirty data explicitly to the current NVMe device.
Signed-off-by: Denis Mukhin <[email protected]> --- cmd/blk_common.c | 14 ++++++++++++++ cmd/nvme.c | 1 + 2 files changed, 15 insertions(+) diff --git a/cmd/blk_common.c b/cmd/blk_common.c index 56529702a470..d3b00e10f17c 100644 --- a/cmd/blk_common.c +++ b/cmd/blk_common.c @@ -37,6 +37,20 @@ int blk_common_cmd(int argc, char *const argv[], enum uclass_id uclass_id, printf("\nno %s partition table available\n", if_name); return CMD_RET_SUCCESS; + } else if (strncmp(argv[1], "flush", 5) == 0) { + struct blk_desc *desc; + int ret; + + ret = blk_get_desc(uclass_id, *cur_devnump, &desc); + if (ret) + return CMD_RET_FAILURE; + + if (blk_dflush(desc)) { + printf("\nfailed to flush device %s\n", if_name); + return CMD_RET_FAILURE; + } + + return CMD_RET_SUCCESS; } return CMD_RET_USAGE; case 3: diff --git a/cmd/nvme.c b/cmd/nvme.c index f2c9acba5c32..21ac9a6fac7a 100644 --- a/cmd/nvme.c +++ b/cmd/nvme.c @@ -46,6 +46,7 @@ U_BOOT_CMD( "NVM Express sub-system", "scan - scan NVMe devices\n" "nvme detail - show details of current NVMe device\n" + "nvme flush - commit all dirty data to the current NVMe device\n" "nvme info - show all available NVMe devices\n" "nvme device [dev] - show or set current NVMe device\n" "nvme part [dev] - print partition table of one or all NVMe devices\n" -- 2.54.0

