qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [RFC PATCH] block: local qiov helper


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [Qemu-block] [RFC PATCH] block: local qiov helper
Date: Tue, 29 Jan 2019 11:18:03 +0000

29.01.2019 13:32, Stefan Hajnoczi wrote:
> On Tue, Jan 29, 2019 at 6:24 PM Vladimir Sementsov-Ogievskiy
> <address@hidden> wrote:
>> 29.01.2019 6:31, Stefan Hajnoczi wrote:
>>> On Fri, Jan 25, 2019 at 07:46:01PM +0300, Vladimir Sementsov-Ogievskiy 
>>> wrote:
>> Hmm. In this case we definitely will have tiny extra memory usage, but we 
>> gain beautiful
>> readability.
>>
>> So, like this:
>>
>> diff --git a/include/qemu/iov.h b/include/qemu/iov.h
>> index 5f433c7768..53de1b38bb 100644
>> --- a/include/qemu/iov.h
>> +++ b/include/qemu/iov.h
>> @@ -134,9 +134,31 @@ typedef struct QEMUIOVector {
>>        struct iovec *iov;
>>        int niov;
>>        int nalloc;
>> -    size_t size;
>> +    union {
>> +        struct {
>> +            void *__unused_iov_base;
> 
> This could be struct iovec *iov for nalloc > 0 users.  Must resist hackiness! 
> :)

can't be iov, gcc complains:
include/qemu/iov.h:139:27: error: duplicate member ‘iov’
              struct iovec *iov;

> 
>> +            size_t size;
>> +        };
>> +        struct iovec local_iov;
>> +    };
>>    } QEMUIOVector;
> 
> That's clever and not too hacky.  Please include a comment so the
> intent is clear:
> 
>    /* Save space by reusing the embedded iovec's size field as the
> total size field.  Users with external iovecs don't use the embedded
> iovec so this is safe. */
> 
> Stefan
> 


-- 
Best regards,
Vladimir

reply via email to

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