Drop bdrv_create2
This patch converts the remaining users of bdrv_create2 to bdrv_create and removes the now unused function. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
a980c98cf1
commit
91a073a975
55
block.c
55
block.c
@ -184,42 +184,6 @@ BlockDriver *bdrv_find_format(const char *format_name)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bdrv_create2(BlockDriver *drv,
|
|
||||||
const char *filename, int64_t size_in_sectors,
|
|
||||||
const char *backing_file, const char *backing_format,
|
|
||||||
int flags)
|
|
||||||
{
|
|
||||||
QEMUOptionParameter *options;
|
|
||||||
|
|
||||||
options = parse_option_parameters("", drv->create_options, NULL);
|
|
||||||
|
|
||||||
// Process flags
|
|
||||||
if (flags & ~(BLOCK_FLAG_ENCRYPT | BLOCK_FLAG_COMPAT6 | BLOCK_FLAG_COMPRESS)) {
|
|
||||||
return -ENOTSUP;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (flags & BLOCK_FLAG_ENCRYPT) {
|
|
||||||
set_option_parameter_int(options, BLOCK_OPT_ENCRYPT, 1);
|
|
||||||
}
|
|
||||||
if (flags & BLOCK_FLAG_COMPAT6) {
|
|
||||||
set_option_parameter_int(options, BLOCK_OPT_COMPAT6, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add size to options
|
|
||||||
set_option_parameter_int(options, BLOCK_OPT_SIZE, size_in_sectors * 512);
|
|
||||||
|
|
||||||
// Backing files
|
|
||||||
if ((backing_file != NULL && set_option_parameter(options,
|
|
||||||
BLOCK_OPT_BACKING_FILE, backing_file))
|
|
||||||
|| (backing_format != NULL && set_option_parameter(options,
|
|
||||||
BLOCK_OPT_BACKING_FMT, backing_format)))
|
|
||||||
{
|
|
||||||
return -ENOTSUP;
|
|
||||||
}
|
|
||||||
|
|
||||||
return bdrv_create(drv, filename, options);
|
|
||||||
}
|
|
||||||
|
|
||||||
int bdrv_create(BlockDriver *drv, const char* filename,
|
int bdrv_create(BlockDriver *drv, const char* filename,
|
||||||
QEMUOptionParameter *options)
|
QEMUOptionParameter *options)
|
||||||
{
|
{
|
||||||
@ -392,6 +356,8 @@ int bdrv_open2(BlockDriverState *bs, const char *filename, int flags,
|
|||||||
BlockDriverState *bs1;
|
BlockDriverState *bs1;
|
||||||
int64_t total_size;
|
int64_t total_size;
|
||||||
int is_protocol = 0;
|
int is_protocol = 0;
|
||||||
|
BlockDriver *bdrv_qcow2;
|
||||||
|
QEMUOptionParameter *options;
|
||||||
|
|
||||||
/* if snapshot, we create a temporary backing file and open it
|
/* if snapshot, we create a temporary backing file and open it
|
||||||
instead of opening 'filename' directly */
|
instead of opening 'filename' directly */
|
||||||
@ -419,14 +385,23 @@ int bdrv_open2(BlockDriverState *bs, const char *filename, int flags,
|
|||||||
else
|
else
|
||||||
realpath(filename, backing_filename);
|
realpath(filename, backing_filename);
|
||||||
|
|
||||||
ret = bdrv_create2(bdrv_find_format("qcow2"), tmp_filename,
|
bdrv_qcow2 = bdrv_find_format("qcow2");
|
||||||
total_size, backing_filename,
|
options = parse_option_parameters("", bdrv_qcow2->create_options, NULL);
|
||||||
(drv ? drv->format_name : NULL), 0);
|
|
||||||
|
set_option_parameter_int(options, BLOCK_OPT_SIZE, total_size * 512);
|
||||||
|
set_option_parameter(options, BLOCK_OPT_BACKING_FILE, backing_filename);
|
||||||
|
if (drv) {
|
||||||
|
set_option_parameter(options, BLOCK_OPT_BACKING_FMT,
|
||||||
|
drv->format_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = bdrv_create(bdrv_qcow2, tmp_filename, options);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
filename = tmp_filename;
|
filename = tmp_filename;
|
||||||
drv = bdrv_find_format("qcow2");
|
drv = bdrv_qcow2;
|
||||||
bs->is_temporary = 1;
|
bs->is_temporary = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2770,6 +2770,8 @@ static BlockDriver vvfat_write_target = {
|
|||||||
|
|
||||||
static int enable_write_target(BDRVVVFATState *s)
|
static int enable_write_target(BDRVVVFATState *s)
|
||||||
{
|
{
|
||||||
|
BlockDriver *bdrv_qcow;
|
||||||
|
QEMUOptionParameter *options;
|
||||||
int size = sector2cluster(s, s->sector_count);
|
int size = sector2cluster(s, s->sector_count);
|
||||||
s->used_clusters = calloc(size, 1);
|
s->used_clusters = calloc(size, 1);
|
||||||
|
|
||||||
@ -2777,8 +2779,13 @@ static int enable_write_target(BDRVVVFATState *s)
|
|||||||
|
|
||||||
s->qcow_filename = qemu_malloc(1024);
|
s->qcow_filename = qemu_malloc(1024);
|
||||||
get_tmp_filename(s->qcow_filename, 1024);
|
get_tmp_filename(s->qcow_filename, 1024);
|
||||||
if (bdrv_create2(bdrv_find_format("qcow"),
|
|
||||||
s->qcow_filename, s->sector_count, "fat:", NULL, 0) < 0)
|
bdrv_qcow = bdrv_find_format("qcow");
|
||||||
|
options = parse_option_parameters("", bdrv_qcow->create_options, NULL);
|
||||||
|
set_option_parameter_int(options, BLOCK_OPT_SIZE, s->sector_count * 512);
|
||||||
|
set_option_parameter(options, BLOCK_OPT_BACKING_FILE, "fat:");
|
||||||
|
|
||||||
|
if (bdrv_create(bdrv_qcow, s->qcow_filename, options) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
s->qcow = bdrv_new("");
|
s->qcow = bdrv_new("");
|
||||||
if (s->qcow == NULL || bdrv_open(s->qcow, s->qcow_filename, 0) < 0)
|
if (s->qcow == NULL || bdrv_open(s->qcow, s->qcow_filename, 0) < 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user