From patchwork Wed Jul 25 12:21:23 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2,6/7] qemu-io: add "abort" command to simulate program crash X-Patchwork-Submitter: Stefan Hajnoczi X-Patchwork-Id: 173146 Message-Id: <1343218884-14980-7-git-send-email-stefanha@linux.vnet.ibm.com> To: Cc: Kevin Wolf , Khoa Huynh , Anthony Liguori , Stefan Hajnoczi Date: Wed, 25 Jul 2012 13:21:23 +0100 From: Stefan Hajnoczi List-Id: Avoiding data loss and corruption is the top requirement for image file formats. The qemu-io "abort" command makes it possible to simulate program crashes and does not give the image format a chance to cleanly shut down. This command is useful for data integrity test cases. Signed-off-by: Stefan Hajnoczi --- qemu-io.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/qemu-io.c b/qemu-io.c index 8f3b94b..d0f4fb7 100644 --- a/qemu-io.c +++ b/qemu-io.c @@ -1652,6 +1652,17 @@ static const cmdinfo_t map_cmd = { .oneline = "prints the allocated areas of a file", }; +static int abort_f(int argc, char **argv) +{ + abort(); +} + +static const cmdinfo_t abort_cmd = { + .name = "abort", + .cfunc = abort_f, + .flags = CMD_NOFILE_OK, + .oneline = "simulate a program crash using abort(3)", +}; static int close_f(int argc, char **argv) { @@ -1905,6 +1916,7 @@ int main(int argc, char **argv) add_command(&discard_cmd); add_command(&alloc_cmd); add_command(&map_cmd); + add_command(&abort_cmd); add_args_command(init_args_command); add_check_command(init_check_command);