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