[Spice-devel] [PATCH 2/4] Move RedCacheItem size field inside cache_data union
Jonathon Jongsma
jjongsma at redhat.com
Tue May 24 20:09:21 UTC 2016
OK. But this is a pretty odd struct...
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
On Tue, 2016-05-24 at 15:55 +0100, Frediano Ziglio wrote:
> This reduce a bit the structure size and make clean that
> the field is used only when the item is a cache item.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> server/cache-item.h | 2 +-
> server/cache-item.tmpl.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/server/cache-item.h b/server/cache-item.h
> index 864b163..af0fc9e 100644
> --- a/server/cache-item.h
> +++ b/server/cache-item.h
> @@ -30,10 +30,10 @@ struct RedCacheItem {
> struct {
> RingItem lru_link;
> RedCacheItem *next;
> + size_t size;
> } cache_data;
> } u;
> uint64_t id;
> - size_t size;
> };
>
> #endif /* CACHE_ITEM_H_ */
> diff --git a/server/cache-item.tmpl.c b/server/cache-item.tmpl.c
> index 2cf12d8..9a9181c 100644
> --- a/server/cache-item.tmpl.c
> +++ b/server/cache-item.tmpl.c
> @@ -77,7 +77,7 @@ static void FUNC_NAME(remove)(CHANNELCLIENT *channel_client,
> RedCacheItem *item)
> }
> ring_remove(&item->u.cache_data.lru_link);
> channel_client->VAR_NAME(items)--;
> - channel_client->VAR_NAME(available) += item->size;
> + channel_client->VAR_NAME(available) += item->u.cache_data.size;
>
> red_pipe_item_init(&item->u.pipe_data, RED_PIPE_ITEM_TYPE_INVAL_ONE);
> red_channel_client_pipe_add_tail_and_push(&channel_client->common.base,
> &item->u.pipe_data); // for now
> @@ -107,7 +107,7 @@ static int FUNC_NAME(add)(CHANNELCLIENT *channel_client,
> uint64_t id, size_t siz
> ring_item_init(&item->u.cache_data.lru_link);
> ring_add(&channel_client->VAR_NAME(lru), &item->u.cache_data.lru_link);
> item->id = id;
> - item->size = size;
> + item->u.cache_data.size = size;
> return TRUE;
> }
>
More information about the Spice-devel
mailing list