qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* Re: [Qemu-devel] [PATCH V9 3/4] raw-posix: Add full image preallocation option
       [not found]           ` <538782BF.5010500@kamp.de>
@ 2014-06-05  5:39             ` Hu Tao
  2014-06-05  5:48               ` Peter Lieven
  0 siblings, 1 reply; 3+ messages in thread
From: Hu Tao @ 2014-06-05  5:39 UTC (permalink / raw)
  To: Peter Lieven
  Cc: kwolf, Markus Armbruster, qemu-devel, Stefan Hajnoczi, Chen Fan,
	y-goto

On Thu, May 29, 2014 at 08:55:59PM +0200, Peter Lieven wrote:
> Am 29.05.2014 03:55, schrieb Hu Tao:
> > On Wed, May 28, 2014 at 07:36:26AM +0200, Markus Armbruster wrote:
> >> Peter Lieven <pl@kamp.de> writes:
> >>
> >>> Am 27.05.2014 um 21:24 schrieb Eric Blake <eblake@redhat.com>:
> >>>
> >>>> On 05/27/2014 02:22 AM, Chen Fan wrote:
> >>>>> From: Hu Tao <hutao@cn.fujitsu.com>
> >>>>>
> >>>>> This patch adds a new option preallocation for raw format, and implements
> >>>>> full preallocation by writing zeros to disk.
> >>>>>
> >>>>> The metadata option is changed to use posix_fallocate() to ensure
> >>>>> subsquent writes to image file won't fail because of lack of disk space.
> >>>>>
> >>>>> The purpose is to ensure disk space for image file. In cases
> >>>>> posix_fallocate() is supported, metadata option can be used, otherwise
> >>>>> (posix_fallocate() is not supported by filesystem, or in case of thin
> >>>>> provisioning), full option has to be used. User has to choose the proper
> >>>>> way to use.
> >>>>>
> >>>>> Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
> >>>>> ---
> >>>>> block/raw-posix.c | 61
> >>>>> ++++++++++++++++++++++++++++++++++++++++++++++++-------
> >>>>> 1 file changed, 54 insertions(+), 7 deletions(-)
> >>>>>
> >>>>> @@ -1254,6 +1255,18 @@ static int raw_create(const char *filename, QEMUOptionParameter *options,
> >>>>>         if (!strcmp(options->name, BLOCK_OPT_SIZE)) {
> >>>>>             total_size = (options->value.n + BDRV_SECTOR_SIZE) &
> >>>>>                 BDRV_SECTOR_MASK;
> >>>>> +        } else if (!strcmp(options->name, BLOCK_OPT_PREALLOC)) {
> >>>>> +            if (!options->value.s || !strcmp(options->value.s, "off")) {
> >>>>> +                prealloc = PREALLOC_MODE_OFF;
> >>>>> +            } else if (!strcmp(options->value.s, "metadata")) {
> >>>>> +                prealloc = PREALLOC_MODE_METADATA;
> >>>>> +            } else if (!strcmp(options->value.s, "full")) {
> >>>>> +                prealloc = PREALLOC_MODE_FULL;
> >>>>> +            } else {
> >>>> Instead of open-coding this conversion from string to enum, can you
> >>>> reuse Peter's pending patch?  (Hmm, that means Peter needs to export it
> >>>> to somewhere public, not just blockdev.c)
> >>>>
> >>>> https://lists.gnu.org/archive/html/qemu-devel/2014-05/msg03772.html
> >>> I don't mind if this function is made public. You can send a patch for it.
> >>> Please don't forget to remove the static declaration. You might
> >>> also want to remove the inline. This was just to avoid an unused
> >>> function error. I don't know if blockdev.c is still the right
> >>> place for this function then.
> >> Probably not.  I'd rename to qapi_enum_parse(), and move it to qapi/.
> >> If no existing file fits, create a new one, say qapi/qapi-util.c.
> >
> > Thanks. I'll use the function in next version.
> 
> Will you introduce a patch to move it to QAPI or shall I?

I will include the patch in next version of this series, but if you'd
like I can send a seperate patch.

Thanks.

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

* Re: [Qemu-devel] [PATCH V9 3/4] raw-posix: Add full image preallocation option
  2014-06-05  5:39             ` [Qemu-devel] [PATCH V9 3/4] raw-posix: Add full image preallocation option Hu Tao
@ 2014-06-05  5:48               ` Peter Lieven
  2014-06-05  5:49                 ` Hu Tao
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Lieven @ 2014-06-05  5:48 UTC (permalink / raw)
  To: Hu Tao
  Cc: kwolf, Markus Armbruster, qemu-devel, Stefan Hajnoczi, Chen Fan,
	y-goto

On 05.06.2014 07:39, Hu Tao wrote:
> On Thu, May 29, 2014 at 08:55:59PM +0200, Peter Lieven wrote:
>> Am 29.05.2014 03:55, schrieb Hu Tao:
>>> On Wed, May 28, 2014 at 07:36:26AM +0200, Markus Armbruster wrote:
>>>> Peter Lieven <pl@kamp.de> writes:
>>>>
>>>>> Am 27.05.2014 um 21:24 schrieb Eric Blake <eblake@redhat.com>:
>>>>>
>>>>>> On 05/27/2014 02:22 AM, Chen Fan wrote:
>>>>>>> From: Hu Tao <hutao@cn.fujitsu.com>
>>>>>>>
>>>>>>> This patch adds a new option preallocation for raw format, and implements
>>>>>>> full preallocation by writing zeros to disk.
>>>>>>>
>>>>>>> The metadata option is changed to use posix_fallocate() to ensure
>>>>>>> subsquent writes to image file won't fail because of lack of disk space.
>>>>>>>
>>>>>>> The purpose is to ensure disk space for image file. In cases
>>>>>>> posix_fallocate() is supported, metadata option can be used, otherwise
>>>>>>> (posix_fallocate() is not supported by filesystem, or in case of thin
>>>>>>> provisioning), full option has to be used. User has to choose the proper
>>>>>>> way to use.
>>>>>>>
>>>>>>> Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
>>>>>>> ---
>>>>>>> block/raw-posix.c | 61
>>>>>>> ++++++++++++++++++++++++++++++++++++++++++++++++-------
>>>>>>> 1 file changed, 54 insertions(+), 7 deletions(-)
>>>>>>>
>>>>>>> @@ -1254,6 +1255,18 @@ static int raw_create(const char *filename, QEMUOptionParameter *options,
>>>>>>>          if (!strcmp(options->name, BLOCK_OPT_SIZE)) {
>>>>>>>              total_size = (options->value.n + BDRV_SECTOR_SIZE) &
>>>>>>>                  BDRV_SECTOR_MASK;
>>>>>>> +        } else if (!strcmp(options->name, BLOCK_OPT_PREALLOC)) {
>>>>>>> +            if (!options->value.s || !strcmp(options->value.s, "off")) {
>>>>>>> +                prealloc = PREALLOC_MODE_OFF;
>>>>>>> +            } else if (!strcmp(options->value.s, "metadata")) {
>>>>>>> +                prealloc = PREALLOC_MODE_METADATA;
>>>>>>> +            } else if (!strcmp(options->value.s, "full")) {
>>>>>>> +                prealloc = PREALLOC_MODE_FULL;
>>>>>>> +            } else {
>>>>>> Instead of open-coding this conversion from string to enum, can you
>>>>>> reuse Peter's pending patch?  (Hmm, that means Peter needs to export it
>>>>>> to somewhere public, not just blockdev.c)
>>>>>>
>>>>>> https://lists.gnu.org/archive/html/qemu-devel/2014-05/msg03772.html
>>>>> I don't mind if this function is made public. You can send a patch for it.
>>>>> Please don't forget to remove the static declaration. You might
>>>>> also want to remove the inline. This was just to avoid an unused
>>>>> function error. I don't know if blockdev.c is still the right
>>>>> place for this function then.
>>>> Probably not.  I'd rename to qapi_enum_parse(), and move it to qapi/.
>>>> If no existing file fits, create a new one, say qapi/qapi-util.c.
>>> Thanks. I'll use the function in next version.
>> Will you introduce a patch to move it to QAPI or shall I?
> I will include the patch in next version of this series, but if you'd
> like I can send a seperate patch.

I would include the patch in the series if the series depends on this patch.

Peter

>
> Thanks.
>


-- 

Mit freundlichen Grüßen

Peter Lieven

...........................................................

   KAMP Netzwerkdienste GmbH
   Vestische Str. 89-91 | 46117 Oberhausen
   Tel: +49 (0) 208.89 402-50 | Fax: +49 (0) 208.89 402-40
   pl@kamp.de | http://www.kamp.de

   Geschäftsführer: Heiner Lante | Michael Lante
   Amtsgericht Duisburg | HRB Nr. 12154
   USt-Id-Nr.: DE 120607556

...........................................................

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

* Re: [Qemu-devel] [PATCH V9 3/4] raw-posix: Add full image preallocation option
  2014-06-05  5:48               ` Peter Lieven
@ 2014-06-05  5:49                 ` Hu Tao
  0 siblings, 0 replies; 3+ messages in thread
From: Hu Tao @ 2014-06-05  5:49 UTC (permalink / raw)
  To: Peter Lieven
  Cc: kwolf, Markus Armbruster, qemu-devel, Stefan Hajnoczi, Chen Fan,
	y-goto

On Thu, Jun 05, 2014 at 07:48:12AM +0200, Peter Lieven wrote:
> On 05.06.2014 07:39, Hu Tao wrote:
> >On Thu, May 29, 2014 at 08:55:59PM +0200, Peter Lieven wrote:
> >>Am 29.05.2014 03:55, schrieb Hu Tao:
> >>>On Wed, May 28, 2014 at 07:36:26AM +0200, Markus Armbruster wrote:
> >>>>Peter Lieven <pl@kamp.de> writes:
> >>>>
> >>>>>Am 27.05.2014 um 21:24 schrieb Eric Blake <eblake@redhat.com>:
> >>>>>
> >>>>>>On 05/27/2014 02:22 AM, Chen Fan wrote:
> >>>>>>>From: Hu Tao <hutao@cn.fujitsu.com>
> >>>>>>>
> >>>>>>>This patch adds a new option preallocation for raw format, and implements
> >>>>>>>full preallocation by writing zeros to disk.
> >>>>>>>
> >>>>>>>The metadata option is changed to use posix_fallocate() to ensure
> >>>>>>>subsquent writes to image file won't fail because of lack of disk space.
> >>>>>>>
> >>>>>>>The purpose is to ensure disk space for image file. In cases
> >>>>>>>posix_fallocate() is supported, metadata option can be used, otherwise
> >>>>>>>(posix_fallocate() is not supported by filesystem, or in case of thin
> >>>>>>>provisioning), full option has to be used. User has to choose the proper
> >>>>>>>way to use.
> >>>>>>>
> >>>>>>>Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
> >>>>>>>---
> >>>>>>>block/raw-posix.c | 61
> >>>>>>>++++++++++++++++++++++++++++++++++++++++++++++++-------
> >>>>>>>1 file changed, 54 insertions(+), 7 deletions(-)
> >>>>>>>
> >>>>>>>@@ -1254,6 +1255,18 @@ static int raw_create(const char *filename, QEMUOptionParameter *options,
> >>>>>>>         if (!strcmp(options->name, BLOCK_OPT_SIZE)) {
> >>>>>>>             total_size = (options->value.n + BDRV_SECTOR_SIZE) &
> >>>>>>>                 BDRV_SECTOR_MASK;
> >>>>>>>+        } else if (!strcmp(options->name, BLOCK_OPT_PREALLOC)) {
> >>>>>>>+            if (!options->value.s || !strcmp(options->value.s, "off")) {
> >>>>>>>+                prealloc = PREALLOC_MODE_OFF;
> >>>>>>>+            } else if (!strcmp(options->value.s, "metadata")) {
> >>>>>>>+                prealloc = PREALLOC_MODE_METADATA;
> >>>>>>>+            } else if (!strcmp(options->value.s, "full")) {
> >>>>>>>+                prealloc = PREALLOC_MODE_FULL;
> >>>>>>>+            } else {
> >>>>>>Instead of open-coding this conversion from string to enum, can you
> >>>>>>reuse Peter's pending patch?  (Hmm, that means Peter needs to export it
> >>>>>>to somewhere public, not just blockdev.c)
> >>>>>>
> >>>>>>https://lists.gnu.org/archive/html/qemu-devel/2014-05/msg03772.html
> >>>>>I don't mind if this function is made public. You can send a patch for it.
> >>>>>Please don't forget to remove the static declaration. You might
> >>>>>also want to remove the inline. This was just to avoid an unused
> >>>>>function error. I don't know if blockdev.c is still the right
> >>>>>place for this function then.
> >>>>Probably not.  I'd rename to qapi_enum_parse(), and move it to qapi/.
> >>>>If no existing file fits, create a new one, say qapi/qapi-util.c.
> >>>Thanks. I'll use the function in next version.
> >>Will you introduce a patch to move it to QAPI or shall I?
> >I will include the patch in next version of this series, but if you'd
> >like I can send a seperate patch.
> 
> I would include the patch in the series if the series depends on this patch.

OK.

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

end of thread, other threads:[~2014-06-05  5:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <cover.1401177673.git.hutao@cn.fujitsu.com>
     [not found] ` <50ef9e885d2a614cfd625cb30e8e8d49999c2a91.1401177674.git.hutao@cn.fujitsu.com>
     [not found]   ` <5384E681.90908@redhat.com>
     [not found]     ` <97621CB5-A027-4034-A25B-B536E5E25E4D@kamp.de>
     [not found]       ` <87lhtmsbvp.fsf@blackfin.pond.sub.org>
     [not found]         ` <20140529015516.GB8635@G08FNSTD100614.fnst.cn.fujitsu.com>
     [not found]           ` <538782BF.5010500@kamp.de>
2014-06-05  5:39             ` [Qemu-devel] [PATCH V9 3/4] raw-posix: Add full image preallocation option Hu Tao
2014-06-05  5:48               ` Peter Lieven
2014-06-05  5:49                 ` Hu Tao

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).