qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH RFC 0/1] block/rbd: increase dynamically the image size
@ 2019-04-11 10:50 Stefano Garzarella
  2019-04-11 10:50 ` Stefano Garzarella
  2019-04-11 10:50 ` [Qemu-devel] [PATCH RFC 1/1] " Stefano Garzarella
  0 siblings, 2 replies; 40+ messages in thread
From: Stefano Garzarella @ 2019-04-11 10:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-block, Max Reitz, Josh Durgin, Kevin Wolf

RBD APIs don't allow us to write more than the maximum size of the file set
with rbd_create() or rbd_resize(), so we are not able to create/use a qcow2
image with the rbd driver.

What I found is the following:
- when qcow2 uses the rbd driver, the new file is created (rbd_create)
  with the size equals to 0. (qemu_opt_get_size_del(opts,
  BLOCK_OPT_SIZE, 0) returns 0 in qemu_rbd_co_create_opts())
- the file is truncated (implemented with rbd_resize) to 0 before to
  write the qcow2 header.
- the "size" parameter passed to rbd_create() or rbd_resize() is
  interpreted as the maximum size of the file, this means that all
  writes that exceed that size, fails and returns -22.

As a workaround, I'm checking if the RW operations exceed the maximum
size and then I'll resize the file. It works, but I'm not sure it is the
right way.

Any suggestions?

Thanks,
Stefano

Stefano Garzarella (1):
  block/rbd: increase dynamically the image size

 block/rbd.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

-- 
2.20.1

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2019-04-29 15:57 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-11 10:50 [Qemu-devel] [PATCH RFC 0/1] block/rbd: increase dynamically the image size Stefano Garzarella
2019-04-11 10:50 ` Stefano Garzarella
2019-04-11 10:50 ` [Qemu-devel] [PATCH RFC 1/1] " Stefano Garzarella
2019-04-11 10:50   ` Stefano Garzarella
2019-04-11 12:35   ` Jason Dillaman
2019-04-11 12:35     ` Jason Dillaman
2019-04-11 13:02     ` Stefano Garzarella
2019-04-11 13:02       ` Stefano Garzarella
2019-04-11 17:06       ` Jason Dillaman
2019-04-11 17:06         ` Jason Dillaman
2019-04-14 13:20         ` Stefano Garzarella
2019-04-14 13:20           ` Stefano Garzarella
2019-04-14 15:14           ` Jason Dillaman
2019-04-14 15:14             ` Jason Dillaman
2019-04-15  8:04             ` Kevin Wolf
2019-04-15  8:04               ` Kevin Wolf
2019-04-17  7:34               ` Stefano Garzarella
2019-04-17  7:34                 ` Stefano Garzarella
2019-04-17  8:04                 ` Kevin Wolf
2019-04-17  8:04                   ` Kevin Wolf
2019-04-19 12:23                   ` Stefano Garzarella
2019-04-19 12:23                     ` Stefano Garzarella
2019-04-23  7:56                     ` Kevin Wolf
2019-04-23  7:56                       ` Kevin Wolf
2019-04-23  8:26                       ` Stefano Garzarella
2019-04-23  8:26                         ` Stefano Garzarella
2019-04-23  8:38                         ` Kevin Wolf
2019-04-23  8:38                           ` Kevin Wolf
2019-04-29  9:58                           ` [Qemu-devel] [Qemu-block] " Kevin Wolf
2019-04-29  9:58                             ` Kevin Wolf
2019-04-29 10:11                             ` Stefano Garzarella
2019-04-29 10:11                               ` Stefano Garzarella
2019-04-29 10:25   ` [Qemu-devel] " Kevin Wolf
2019-04-29 10:25     ` Kevin Wolf
2019-04-29 14:04     ` Stefano Garzarella
2019-04-29 14:04       ` Stefano Garzarella
2019-04-29 14:30       ` Kevin Wolf
2019-04-29 14:30         ` Kevin Wolf
2019-04-29 15:55         ` Stefano Garzarella
2019-04-29 15:55           ` Stefano Garzarella

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).