From ef72cb11b311e4914711182b17287628392dc751 Mon Sep 17 00:00:00 2001 From: Maciej Szwed Date: Fri, 19 Jun 2020 10:30:12 +0200 Subject: [PATCH] spdk_dd: Create file automatically if it does not exist Signed-off-by: Maciej Szwed Change-Id: I358b8b3977fc15773c6d354d72b8a30d4327fe76 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2965 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker Reviewed-by: Tomasz Zawadzki Reviewed-by: Paul Luse --- app/spdk_dd/spdk_dd.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/spdk_dd/spdk_dd.c b/app/spdk_dd/spdk_dd.c index 8ba08bb22..a9a8d956c 100644 --- a/app/spdk_dd/spdk_dd.c +++ b/app/spdk_dd/spdk_dd.c @@ -490,8 +490,14 @@ dd_output_poll(void *ctx) static int dd_open_file(struct dd_target *target, const char *fname, uint64_t skip_blocks, bool input) { + int flags = O_RDWR; + + if (input == false) { + flags |= O_CREAT; + } + target->type = DD_TARGET_TYPE_FILE; - target->u.aio.fd = open(fname, O_RDWR); + target->u.aio.fd = open(fname, flags, 0600); if (target->u.aio.fd < 0) { SPDK_ERRLOG("Could not open file %s: %s\n", fname, strerror(errno)); return target->u.aio.fd;