mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
qtest/ahci: add qcow2 support to ahci-test
This will enable the testing of high offsets without wasting a lot of disk space, and does not impact the previous tests. mkimg and mkqcow2 are added to libqos for other tests. Signed-off-by: John Snow <jsnow@redhat.com> Acked-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1426274523-22661-2-git-send-email-jsnow@redhat.com
This commit is contained in:
parent
24a5c62cfe
commit
122fdf2d88
4 changed files with 53 additions and 10 deletions
|
@ -61,3 +61,47 @@ void qtest_shutdown(QOSState *qs)
|
|||
qtest_quit(qs->qts);
|
||||
g_free(qs);
|
||||
}
|
||||
|
||||
void mkimg(const char *file, const char *fmt, unsigned size_mb)
|
||||
{
|
||||
gchar *cli;
|
||||
bool ret;
|
||||
int rc;
|
||||
GError *err = NULL;
|
||||
char *qemu_img_path;
|
||||
gchar *out, *out2;
|
||||
char *abs_path;
|
||||
|
||||
qemu_img_path = getenv("QTEST_QEMU_IMG");
|
||||
abs_path = realpath(qemu_img_path, NULL);
|
||||
assert(qemu_img_path);
|
||||
|
||||
cli = g_strdup_printf("%s create -f %s %s %uM", abs_path,
|
||||
fmt, file, size_mb);
|
||||
ret = g_spawn_command_line_sync(cli, &out, &out2, &rc, &err);
|
||||
if (err) {
|
||||
fprintf(stderr, "%s\n", err->message);
|
||||
g_error_free(err);
|
||||
}
|
||||
g_assert(ret && !err);
|
||||
|
||||
/* In glib 2.34, we have g_spawn_check_exit_status. in 2.12, we don't.
|
||||
* glib 2.43.91 implementation assumes that any non-zero is an error for
|
||||
* windows, but uses extra precautions for Linux. However,
|
||||
* 0 is only possible if the program exited normally, so that should be
|
||||
* sufficient for our purposes on all platforms, here. */
|
||||
if (rc) {
|
||||
fprintf(stderr, "qemu-img returned status code %d\n", rc);
|
||||
}
|
||||
g_assert(!rc);
|
||||
|
||||
g_free(out);
|
||||
g_free(out2);
|
||||
g_free(cli);
|
||||
free(abs_path);
|
||||
}
|
||||
|
||||
void mkqcow2(const char *file, unsigned size_mb)
|
||||
{
|
||||
return mkimg(file, "qcow2", size_mb);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue