qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCHv3 20/20] block/raw: copy BlockLimits on raw_open


From: Peter Lieven
Subject: Re: [Qemu-devel] [PATCHv3 20/20] block/raw: copy BlockLimits on raw_open
Date: Mon, 7 Oct 2013 10:40:49 +0200

Am 07.10.2013 um 10:38 schrieb Stefan Hajnoczi <address@hidden>:

> On Wed, Oct 02, 2013 at 11:11:05AM -0600, Eric Blake wrote:
>> On 09/24/2013 07:35 AM, Peter Lieven wrote:
>>> Signed-off-by: Peter Lieven <address@hidden>
>>> ---
>>> block/raw_bsd.c |    1 +
>>> 1 file changed, 1 insertion(+)
>>> 
>>> diff --git a/block/raw_bsd.c b/block/raw_bsd.c
>>> index 8dc7bba..7af26ad 100644
>>> --- a/block/raw_bsd.c
>>> +++ b/block/raw_bsd.c
>>> @@ -159,6 +159,7 @@ static int raw_open(BlockDriverState *bs, QDict 
>>> *options, int flags,
>>>                     Error **errp)
>>> {
>>>     bs->sg = bs->file->sg;
>>> +    memcpy(&bs->bl, &bs->file->bl, sizeof(struct BlockLimits));
>> 
>> Personally, I think that sizeof(var) is more robust, because if the
>> declaration of var is ever changed, you don't have to remember to also
>> touch up the memcpy.  As in:
>> 
>> memcpy(&bs->bl, &bs->file->bl, sizeof(bs->bl));
>> 
>> But there's plenty of examples of sizeof(type) in the codebase even when
>> a var is handy, so you are not alone, and that's not a reason for me to
>> request a respin.
>> 
>> On the other hand, why use memcpy() at all?
>> 
>> bs->bl = bs->file->bl;
>> 
>> should do the same trick, with less typing.
> 
> Yes, please use struct assignment.

Okay, I was unsure because when looking at bdrv_move_feature_fields I found 
that there memcpy was used.

Peter


reply via email to

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