qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v14 2/5] block: don't convert file size to secto


From: Benoît Canet
Subject: Re: [Qemu-devel] [PATCH v14 2/5] block: don't convert file size to sector size
Date: Tue, 9 Sep 2014 14:26:00 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

The Tuesday 09 Sep 2014 à 11:54:28 (+0800), Hu Tao wrote :
> and avoid converting it back later.
> 
> Signed-off-by: Hu Tao <address@hidden>
> Reviewed-by: Max Reitz <address@hidden>
> ---
>  block/gluster.c   |  9 ++++-----
>  block/qcow.c      |  8 ++++----
>  block/qcow2.c     | 10 +++++-----
>  block/raw-posix.c | 12 ++++++------
>  block/raw-win32.c |  6 +++---
>  5 files changed, 22 insertions(+), 23 deletions(-)
> 
> diff --git a/block/gluster.c b/block/gluster.c
> index 65c7a58..1eb3a8c 100644
> --- a/block/gluster.c
> +++ b/block/gluster.c
> @@ -494,8 +494,8 @@ static int qemu_gluster_create(const char *filename,
>          goto out;
>      }
>  
> -    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);
>  
>      tmp = qemu_opt_get_del(opts, BLOCK_OPT_PREALLOC);
>      if (!tmp || !strcmp(tmp, "off")) {
> @@ -516,9 +516,8 @@ static int qemu_gluster_create(const char *filename,
>      if (!fd) {
>          ret = -errno;
>      } else {
> -        if (!glfs_ftruncate(fd, total_size * BDRV_SECTOR_SIZE)) {
> -            if (prealloc && qemu_gluster_zerofill(fd, 0,
> -                    total_size * BDRV_SECTOR_SIZE)) {
> +        if (!glfs_ftruncate(fd, total_size)) {
> +            if (prealloc && qemu_gluster_zerofill(fd, 0, total_size)) {
>                  ret = -errno;
>              }
>          } else {
> diff --git a/block/qcow.c b/block/qcow.c
> index 041af26..a87bd69 100644
> --- a/block/qcow.c
> +++ b/block/qcow.c
> @@ -725,8 +725,8 @@ static int qcow_create(const char *filename, QemuOpts 
> *opts, Error **errp)
>      BlockDriverState *qcow_bs;
>  
>      /* 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);
>      backing_file = qemu_opt_get_del(opts, BLOCK_OPT_BACKING_FILE);
>      if (qemu_opt_get_bool_del(opts, BLOCK_OPT_ENCRYPT, false)) {
>          flags |= BLOCK_FLAG_ENCRYPT;
> @@ -754,7 +754,7 @@ static int qcow_create(const char *filename, QemuOpts 
> *opts, Error **errp)
>      memset(&header, 0, sizeof(header));
>      header.magic = cpu_to_be32(QCOW_MAGIC);
>      header.version = cpu_to_be32(QCOW_VERSION);
> -    header.size = cpu_to_be64(total_size * 512);
> +    header.size = cpu_to_be64(total_size);
>      header_size = sizeof(header);
>      backing_filename_len = 0;
>      if (backing_file) {
> @@ -776,7 +776,7 @@ static int qcow_create(const char *filename, QemuOpts 
> *opts, Error **errp)
>      }
>      header_size = (header_size + 7) & ~7;
>      shift = header.cluster_bits + header.l2_bits;
> -    l1_size = ((total_size * 512) + (1LL << shift) - 1) >> shift;
> +    l1_size = (total_size + (1LL << shift) - 1) >> shift;
>  
>      header.l1_table_offset = cpu_to_be64(header_size);
>      if (flags & BLOCK_FLAG_ENCRYPT) {
> diff --git a/block/qcow2.c b/block/qcow2.c
> index c8050e5..cf27c3f 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -1859,7 +1859,7 @@ static int qcow2_create2(const char *filename, int64_t 
> total_size,
>      }
>  
>      /* Okay, now that we have a valid image, let's give it the right size */
> -    ret = bdrv_truncate(bs, total_size * BDRV_SECTOR_SIZE);
> +    ret = bdrv_truncate(bs, total_size);
>      if (ret < 0) {
>          error_setg_errno(errp, -ret, "Could not resize image");
>          goto out;
> @@ -1912,7 +1912,7 @@ static int qcow2_create(const char *filename, QemuOpts 
> *opts, Error **errp)
>      char *backing_file = NULL;
>      char *backing_fmt = NULL;
>      char *buf = NULL;
> -    uint64_t sectors = 0;
> +    uint64_t size = 0;
>      int flags = 0;
>      size_t cluster_size = DEFAULT_CLUSTER_SIZE;
>      int prealloc = 0;
> @@ -1921,8 +1921,8 @@ static int qcow2_create(const char *filename, QemuOpts 
> *opts, Error **errp)
>      int ret;
>  
>      /* Read out options */
> -    sectors = DIV_ROUND_UP(qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0),
> -                           BDRV_SECTOR_SIZE);
> +    size = ROUND_UP(qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0),
> +                    BDRV_SECTOR_SIZE);
>      backing_file = qemu_opt_get_del(opts, BLOCK_OPT_BACKING_FILE);
>      backing_fmt = qemu_opt_get_del(opts, BLOCK_OPT_BACKING_FMT);
>      if (qemu_opt_get_bool_del(opts, BLOCK_OPT_ENCRYPT, false)) {
> @@ -1972,7 +1972,7 @@ static int qcow2_create(const char *filename, QemuOpts 
> *opts, Error **errp)
>          goto finish;
>      }
>  
> -    ret = qcow2_create2(filename, sectors, backing_file, backing_fmt, flags,
> +    ret = qcow2_create2(filename, size, backing_file, backing_fmt, flags,
>                          cluster_size, prealloc, opts, version, &local_err);
>      if (local_err) {
>          error_propagate(errp, local_err);
> diff --git a/block/raw-posix.c b/block/raw-posix.c
> index 9c22e3f..7208c05 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;
>      }
> diff --git a/block/raw-win32.c b/block/raw-win32.c
> index 1e1880d..9bf8225 100644
> --- a/block/raw-win32.c
> +++ b/block/raw-win32.c
> @@ -511,8 +511,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);
>  
>      fd = qemu_open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY,
>                     0644);
> @@ -521,7 +521,7 @@ static int raw_create(const char *filename, QemuOpts 
> *opts, Error **errp)
>          return -EIO;
>      }
>      set_sparse(fd);
> -    ftruncate(fd, total_size * 512);
> +    ftruncate(fd, total_size);
>      qemu_close(fd);
>      return 0;
>  }
> -- 
> 1.9.3
> 
> 

Reviewed-by: Benoît Canet <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]