[Spice-devel] [PATCH spice-server v4] marshaller: rename _add_ref() to _add_by_ref()

Pavel Grunt pgrunt at redhat.com
Thu Dec 8 14:03:03 UTC 2016


Ack

Pavel

On Thu, 2016-12-08 at 13:53 +0000, Frediano Ziglio wrote:
> The spice_marshaller_add_ref() family of functions is confusing
> since it
> sounds like you're incrementing a reference on the marshaller. What
> it
> is actually doing is adding a data buffer to the marshaller by
> reference
> rather than by value. Changing the function names to _add_by_ref()
> makes
> this clearer.
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  server/char-device.c              | 16 ++++++++--------
>  server/cursor-channel.c           |  2 +-
>  server/dcc-send.c                 | 16 ++++++++--------
>  server/main-channel-client.c      |  4 ++--
>  server/smartcard-channel-client.c |  2 +-
>  server/sound.c                    |  7 ++++---
>  server/spicevmc.c                 |  2 +-
>  spice-common                      |  2 +-
>  8 files changed, 26 insertions(+), 25 deletions(-)
> 
> Changes since v3:
> - change spice-common to include patch to remove deprecated
>   replacement functions.
> 
> Changes since v2:
> - added another missing rename (last, checked with grep).
> 
> Changes since v1:
> - added 2 missing renames (strangely were not triggering any
>   warnings/errors).
> 
> diff --git a/server/char-device.c b/server/char-device.c
> index 45ce548..c40ed65 100644
> --- a/server/char-device.c
> +++ b/server/char-device.c
> @@ -893,10 +893,10 @@ void
> red_char_device_migrate_data_marshall(RedCharDevice *dev,
>      if (dev->priv->cur_write_buf) {
>          uint32_t buf_remaining = dev->priv->cur_write_buf->buf +
> dev->priv->cur_write_buf->buf_used -
>                                   dev->priv->cur_write_buf_pos;
> -        spice_marshaller_add_ref_full(m2, dev->priv-
> >cur_write_buf_pos, buf_remaining,
> -                                      migrate_data_marshaller_write
> _buffer_free,
> -                                      red_char_device_write_buffer_
> ref(dev->priv->cur_write_buf)
> -                                      );
> +        spice_marshaller_add_by_ref_full(m2, dev->priv-
> >cur_write_buf_pos, buf_remaining,
> +                                         migrate_data_marshaller_wr
> ite_buffer_free,
> +                                         red_char_device_write_buff
> er_ref(dev->priv->cur_write_buf)
> +                                         );
>          *write_to_dev_size_ptr += buf_remaining;
>          if (dev->priv->cur_write_buf->origin ==
> WRITE_BUFFER_ORIGIN_CLIENT) {
>              spice_assert(dev->priv->cur_write_buf->client ==
> dev_client->client);
> @@ -907,10 +907,10 @@ void
> red_char_device_migrate_data_marshall(RedCharDevice *dev,
>      for (item = g_queue_peek_tail_link(&dev->priv->write_queue);
> item != NULL; item = item->prev) {
>          RedCharDeviceWriteBuffer *write_buf = item->data;
>  
> -        spice_marshaller_add_ref_full(m2, write_buf->buf,
> write_buf->buf_used,
> -                                      migrate_data_marshaller_write
> _buffer_free,
> -                                      red_char_device_write_buffer_
> ref(write_buf)
> -                                      );
> +        spice_marshaller_add_by_ref_full(m2, write_buf->buf,
> write_buf->buf_used,
> +                                         migrate_data_marshaller_wr
> ite_buffer_free,
> +                                         red_char_device_write_buff
> er_ref(write_buf)
> +                                         );
>          *write_to_dev_size_ptr += write_buf->buf_used;
>          if (write_buf->origin == WRITE_BUFFER_ORIGIN_CLIENT) {
>              spice_assert(write_buf->client == dev_client->client);
> diff --git a/server/cursor-channel.c b/server/cursor-channel.c
> index e421bf7..d83e820 100644
> --- a/server/cursor-channel.c
> +++ b/server/cursor-channel.c
> @@ -131,7 +131,7 @@ typedef struct {
>  static void add_buf_from_info(SpiceMarshaller *m, AddBufInfo *info)
>  {
>      if (info->data) {
> -        spice_marshaller_add_ref(m, info->data, info->size);
> +        spice_marshaller_add_by_ref(m, info->data, info->size);
>      }
>  }
>  
> diff --git a/server/dcc-send.c b/server/dcc-send.c
> index 4c739c8..edeea62 100644
> --- a/server/dcc-send.c
> +++ b/server/dcc-send.c
> @@ -337,8 +337,8 @@ static void
> marshaller_add_compressed(SpiceMarshaller *m,
>          spice_return_if_fail(comp_buf);
>          now = MIN(sizeof(comp_buf->buf), max);
>          max -= now;
> -        spice_marshaller_add_ref_full(m, comp_buf->buf.bytes, now,
> -                                      marshaller_compress_buf_free,
> comp_buf);
> +        spice_marshaller_add_by_ref_full(m, comp_buf->buf.bytes,
> now,
> +                                         marshaller_compress_buf_fr
> ee, comp_buf);
>          comp_buf = comp_buf->send_next;
>      } while (max);
>  }
> @@ -449,7 +449,7 @@ static FillBitsType
> fill_bits(DisplayChannelClient *dcc, SpiceMarshaller *m,
>                  spice_marshall_Palette(bitmap_palette_out,
> palette);
>              }
>  
> -            spice_marshaller_add_ref_chunks(m, bitmap->data);
> +            spice_marshaller_add_chunks_by_ref(m, bitmap->data);
>              pthread_mutex_unlock(&dcc->priv->pixmap_cache->lock);
>              return FILL_BITS_TYPE_BITMAP;
>          } else {
> @@ -481,7 +481,7 @@ static FillBitsType
> fill_bits(DisplayChannelClient *dcc, SpiceMarshaller *m,
>                               &bitmap_palette_out,
> &lzplt_palette_out);
>          spice_assert(bitmap_palette_out == NULL);
>          spice_assert(lzplt_palette_out == NULL);
> -        spice_marshaller_add_ref_chunks(m, image.u.quic.data);
> +        spice_marshaller_add_chunks_by_ref(m, image.u.quic.data);
>          pthread_mutex_unlock(&dcc->priv->pixmap_cache->lock);
>          return FILL_BITS_TYPE_COMPRESS_LOSSLESS;
>      default:
> @@ -1741,8 +1741,8 @@ static int
> red_marshall_stream_data(RedChannelClient *rcc,
>          rect_debug(&stream_data.dest);
>          spice_marshall_msg_display_stream_data_sized(base_marshalle
> r, &stream_data);
>      }
> -    spice_marshaller_add_ref_full(base_marshaller, outbuf->data,
> outbuf->size,
> -                                  &red_release_video_encoder_buffer
> , outbuf);
> +    spice_marshaller_add_by_ref_full(base_marshaller, outbuf->data, 
> outbuf->size,
> +                                     &red_release_video_encoder_buf
> fer, outbuf);
>  #ifdef STREAM_STATS
>      agent->stats.num_frames_sent++;
>      agent->stats.size_sent += outbuf->size;
> @@ -1984,8 +1984,8 @@ static void
> red_marshall_image(RedChannelClient *rcc,
>  
>          spice_marshall_Image(src_bitmap_out, &red_image,
>                               &bitmap_palette_out,
> &lzplt_palette_out);
> -        spice_marshaller_add_ref(src_bitmap_out, item->data,
> -                                 bitmap.y * bitmap.stride);
> +        spice_marshaller_add_by_ref(src_bitmap_out, item->data,
> +                                    bitmap.y * bitmap.stride);
>          region_remove(surface_lossy_region, &copy.base.box);
>      }
>      spice_chunks_destroy(chunks);
> diff --git a/server/main-channel-client.c b/server/main-channel-
> client.c
> index 15e168d..7e1b1fc 100644
> --- a/server/main-channel-client.c
> +++ b/server/main-channel-client.c
> @@ -793,7 +793,7 @@ static void
> main_channel_marshall_ping(RedChannelClient *rcc,
>      while (size_left > 0) {
>          int now = MIN(ZERO_BUF_SIZE, size_left);
>          size_left -= now;
> -        spice_marshaller_add_ref(m, zero_page, now);
> +        spice_marshaller_add_by_ref(m, zero_page, now);
>      }
>  }
>  
> @@ -838,7 +838,7 @@ static void
> main_channel_marshall_agent_data(RedChannelClient *rcc,
>                                               RedAgentDataPipeItem
> *item)
>  {
>      red_channel_client_init_send_data(rcc,
> SPICE_MSG_MAIN_AGENT_DATA, &item->base);
> -    spice_marshaller_add_ref(m, item->data, item->len);
> +    spice_marshaller_add_by_ref(m, item->data, item->len);
>  }
>  
>  static void
> main_channel_marshall_migrate_data_item(RedChannelClient *rcc,
> diff --git a/server/smartcard-channel-client.c b/server/smartcard-
> channel-client.c
> index 95be310..347e177 100644
> --- a/server/smartcard-channel-client.c
> +++ b/server/smartcard-channel-client.c
> @@ -212,7 +212,7 @@ void
> smartcard_channel_client_send_data(RedChannelClient *rcc,
>      spice_assert(rcc);
>      spice_assert(vheader);
>      red_channel_client_init_send_data(rcc,
> SPICE_MSG_SMARTCARD_DATA, item);
> -    spice_marshaller_add_ref(m, (uint8_t*)vheader,
> sizeof(VSCMsgHeader) + vheader->length);
> +    spice_marshaller_add_by_ref(m, (uint8_t*)vheader,
> sizeof(VSCMsgHeader) + vheader->length);
>  }
>  
>  void smartcard_channel_client_send_error(RedChannelClient *rcc,
> SpiceMarshaller *m, RedPipeItem *item)
> diff --git a/server/sound.c b/server/sound.c
> index 534f23a..310ff6e 100644
> --- a/server/sound.c
> +++ b/server/sound.c
> @@ -806,8 +806,9 @@ static int
> snd_playback_send_write(PlaybackChannelClient *playback_client)
>      spice_marshall_msg_playback_data(m, &msg);
>  
>      if (playback_client->mode == SPICE_AUDIO_DATA_MODE_RAW) {
> -        spice_marshaller_add_ref(m, (uint8_t *)frame->samples,
> -                                 snd_codec_frame_size(playback_clie
> nt->codec) * sizeof(frame->samples[0]));
> +        spice_marshaller_add_by_ref(m, (uint8_t *)frame->samples,
> +                                    snd_codec_frame_size(playback_c
> lient->codec) *
> +                                    sizeof(frame->samples[0]));
>      }
>      else {
>          int n = sizeof(playback_client->encode_buf);
> @@ -818,7 +819,7 @@ static int
> snd_playback_send_write(PlaybackChannelClient *playback_client)
>              snd_disconnect_channel(client);
>              return FALSE;
>          }
> -        spice_marshaller_add_ref(m, playback_client->encode_buf,
> n);
> +        spice_marshaller_add_by_ref(m, playback_client->encode_buf, 
> n);
>      }
>  
>      return snd_begin_send_message(client);
> diff --git a/server/spicevmc.c b/server/spicevmc.c
> index 039a50a..765d287 100644
> --- a/server/spicevmc.c
> +++ b/server/spicevmc.c
> @@ -645,7 +645,7 @@ static void
> spicevmc_red_channel_send_data(RedChannelClient *rcc,
>          };
>          spice_marshall_SpiceMsgCompressedData(m, &compressed_msg);
>      }
> -    spice_marshaller_add_ref(m, i->buf, i->buf_used);
> +    spice_marshaller_add_by_ref(m, i->buf, i->buf_used);
>  }
>  
>  static void spicevmc_red_channel_send_migrate_data(RedChannelClient
> *rcc,
> diff --git a/spice-common b/spice-common
> index 6b409c4..86dcd22 160000
> --- a/spice-common
> +++ b/spice-common
> @@ -1 +1 @@
> -Subproject commit 6b409c4a7979f043a997ae762f16c6edec68345e
> +Subproject commit 86dcd22d334a4992718780417bc574623bd61826


More information about the Spice-devel mailing list