diff options
author | Hu Tao <hutao@cn.fujitsu.com> | 2014-09-10 17:05:46 +0800 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2014-09-12 15:43:06 +0200 |
commit | 180e95265e87edcb457a9f92f844e4b08bcc60a0 (patch) | |
tree | 00b1a59d793d8fa425bcb09dccec2ffcaaba8b9a /block/raw-posix.c | |
parent | c2eb918e3299f930fd0d0ae48d002cf2599de250 (diff) |
block: don't convert file size to sector size
and avoid converting it back later.
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: BenoƮt Canet <benoit.canet@nodalink.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/raw-posix.c')
-rw-r--r-- | block/raw-posix.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/block/raw-posix.c b/block/raw-posix.c index 9c22e3f45d..7208c05f38 100644 --- a/block/raw-posix.c +++ b/block/raw-posix.c @@ -1369,8 +1369,8 @@ static int raw_create(const char *filename, QemuOpts *opts, Error **errp) strstart(filename, "file:", &filename); /* Read out options */ - total_size = DIV_ROUND_UP(qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0), - BDRV_SECTOR_SIZE); + total_size = ROUND_UP(qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0), + BDRV_SECTOR_SIZE); nocow = qemu_opt_get_bool(opts, BLOCK_OPT_NOCOW, false); fd = qemu_open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, @@ -1394,7 +1394,7 @@ static int raw_create(const char *filename, QemuOpts *opts, Error **errp) #endif } - if (ftruncate(fd, total_size * BDRV_SECTOR_SIZE) != 0) { + if (ftruncate(fd, total_size) != 0) { result = -errno; error_setg_errno(errp, -result, "Could not resize file"); } @@ -1966,8 +1966,8 @@ static int hdev_create(const char *filename, QemuOpts *opts, (void)has_prefix; /* Read out options */ - total_size = DIV_ROUND_UP(qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0), - BDRV_SECTOR_SIZE); + total_size = ROUND_UP(qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0), + BDRV_SECTOR_SIZE); fd = qemu_open(filename, O_WRONLY | O_BINARY); if (fd < 0) { @@ -1983,7 +1983,7 @@ static int hdev_create(const char *filename, QemuOpts *opts, error_setg(errp, "The given file is neither a block nor a character device"); ret = -ENODEV; - } else if (lseek(fd, 0, SEEK_END) < total_size * BDRV_SECTOR_SIZE) { + } else if (lseek(fd, 0, SEEK_END) < total_size) { error_setg(errp, "Device is too small"); ret = -ENOSPC; } |