[PATCH v1 3/5] cmd: nvme: Add flush support

dmukhin at ford.com dmukhin at ford.com
Thu May 28 03:20:54 CEST 2026


From: Denis Mukhin <dmukhin at ford.com> 

Introduce `nvme flush` to allow users to commit all dirty data explicitly
to the current NVMe device.

Signed-off-by: Denis Mukhin <dmukhin at ford.com>
---
 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



More information about the U-Boot mailing list