mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-21 19:02:25 +00:00
daemonClientStream: Use unsigned int to store stream @serial
The stream serial number is the serial number of the RPC call that initiated a data transfer. And as such can never be negative. Moreover, when looking up internal state for a stream, the serial numbers are compared. But hey, the serial number in message header is unsigned too! Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
3883a29782
commit
8def0a22a3
@ -42,7 +42,7 @@ struct daemonClientStream {
|
||||
|
||||
virStreamPtr st;
|
||||
int procedure;
|
||||
int serial;
|
||||
unsigned int serial;
|
||||
|
||||
unsigned int recvEOF : 1;
|
||||
unsigned int closed : 1;
|
||||
@ -92,11 +92,11 @@ daemonStreamUpdateEvents(daemonClientStream *stream)
|
||||
* fast stream, but slow client
|
||||
*/
|
||||
static void
|
||||
daemonStreamMessageFinished(virNetMessagePtr msg ATTRIBUTE_UNUSED,
|
||||
daemonStreamMessageFinished(virNetMessagePtr msg,
|
||||
void *opaque)
|
||||
{
|
||||
daemonClientStream *stream = opaque;
|
||||
VIR_DEBUG("stream=%p proc=%d serial=%d",
|
||||
VIR_DEBUG("stream=%p proc=%d serial=%u",
|
||||
stream, msg->header.proc, msg->header.serial);
|
||||
|
||||
stream->tx = 1;
|
||||
@ -293,7 +293,7 @@ daemonStreamFilter(virNetServerClientPtr client ATTRIBUTE_UNUSED,
|
||||
msg->header.serial != stream->serial)
|
||||
goto cleanup;
|
||||
|
||||
VIR_DEBUG("Incoming client=%p, rx=%p, serial=%d, proc=%d, status=%d",
|
||||
VIR_DEBUG("Incoming client=%p, rx=%p, serial=%u, proc=%d, status=%d",
|
||||
client, stream->rx, msg->header.proc,
|
||||
msg->header.serial, msg->header.status);
|
||||
|
||||
@ -324,7 +324,7 @@ daemonCreateClientStream(virNetServerClientPtr client,
|
||||
daemonClientStream *stream;
|
||||
daemonClientPrivatePtr priv = virNetServerClientGetPrivateData(client);
|
||||
|
||||
VIR_DEBUG("client=%p, proc=%d, serial=%d, st=%p",
|
||||
VIR_DEBUG("client=%p, proc=%d, serial=%u, st=%p",
|
||||
client, header->proc, header->serial, st);
|
||||
|
||||
if (VIR_ALLOC(stream) < 0)
|
||||
@ -360,7 +360,7 @@ int daemonFreeClientStream(virNetServerClientPtr client,
|
||||
if (stream->refs)
|
||||
return 0;
|
||||
|
||||
VIR_DEBUG("client=%p, proc=%d, serial=%d",
|
||||
VIR_DEBUG("client=%p, proc=%d, serial=%u",
|
||||
client, stream->procedure, stream->serial);
|
||||
|
||||
virObjectUnref(stream->prog);
|
||||
@ -398,7 +398,7 @@ int daemonAddClientStream(virNetServerClientPtr client,
|
||||
daemonClientStream *stream,
|
||||
bool transmit)
|
||||
{
|
||||
VIR_DEBUG("client=%p, proc=%d, serial=%d, st=%p, transmit=%d",
|
||||
VIR_DEBUG("client=%p, proc=%d, serial=%u, st=%p, transmit=%d",
|
||||
client, stream->procedure, stream->serial, stream->st, transmit);
|
||||
daemonClientPrivatePtr priv = virNetServerClientGetPrivateData(client);
|
||||
|
||||
@ -448,7 +448,7 @@ int
|
||||
daemonRemoveClientStream(virNetServerClientPtr client,
|
||||
daemonClientStream *stream)
|
||||
{
|
||||
VIR_DEBUG("client=%p, proc=%d, serial=%d, st=%p",
|
||||
VIR_DEBUG("client=%p, proc=%d, serial=%u, st=%p",
|
||||
client, stream->procedure, stream->serial, stream->st);
|
||||
daemonClientPrivatePtr priv = virNetServerClientGetPrivateData(client);
|
||||
daemonClientStream *curr = priv->streams;
|
||||
@ -515,7 +515,7 @@ daemonStreamHandleWriteData(virNetServerClientPtr client,
|
||||
{
|
||||
int ret;
|
||||
|
||||
VIR_DEBUG("client=%p, stream=%p, proc=%d, serial=%d, len=%zu, offset=%zu",
|
||||
VIR_DEBUG("client=%p, stream=%p, proc=%d, serial=%u, len=%zu, offset=%zu",
|
||||
client, stream, msg->header.proc, msg->header.serial,
|
||||
msg->bufferLength, msg->bufferOffset);
|
||||
|
||||
@ -565,7 +565,7 @@ daemonStreamHandleFinish(virNetServerClientPtr client,
|
||||
{
|
||||
int ret;
|
||||
|
||||
VIR_DEBUG("client=%p, stream=%p, proc=%d, serial=%d",
|
||||
VIR_DEBUG("client=%p, stream=%p, proc=%d, serial=%u",
|
||||
client, stream, msg->header.proc, msg->header.serial);
|
||||
|
||||
stream->closed = 1;
|
||||
@ -602,7 +602,7 @@ daemonStreamHandleAbort(virNetServerClientPtr client,
|
||||
daemonClientStream *stream,
|
||||
virNetMessagePtr msg)
|
||||
{
|
||||
VIR_DEBUG("client=%p, stream=%p, proc=%d, serial=%d",
|
||||
VIR_DEBUG("client=%p, stream=%p, proc=%d, serial=%u",
|
||||
client, stream, msg->header.proc, msg->header.serial);
|
||||
virNetMessageError rerr;
|
||||
|
||||
|
@ -147,9 +147,9 @@ virNetServerProgramSendError(unsigned program,
|
||||
virNetMessageErrorPtr rerr,
|
||||
int procedure,
|
||||
int type,
|
||||
int serial)
|
||||
unsigned int serial)
|
||||
{
|
||||
VIR_DEBUG("prog=%d ver=%d proc=%d type=%d serial=%d msg=%p rerr=%p",
|
||||
VIR_DEBUG("prog=%d ver=%d proc=%d type=%d serial=%u msg=%p rerr=%p",
|
||||
program, version, procedure, type, serial, msg, rerr);
|
||||
|
||||
virNetMessageSaveError(rerr);
|
||||
@ -217,7 +217,7 @@ int virNetServerProgramSendStreamError(virNetServerProgramPtr prog,
|
||||
virNetMessagePtr msg,
|
||||
virNetMessageErrorPtr rerr,
|
||||
int procedure,
|
||||
int serial)
|
||||
unsigned int serial)
|
||||
{
|
||||
return virNetServerProgramSendError(prog->program,
|
||||
prog->version,
|
||||
@ -282,7 +282,7 @@ int virNetServerProgramDispatch(virNetServerProgramPtr prog,
|
||||
|
||||
memset(&rerr, 0, sizeof(rerr));
|
||||
|
||||
VIR_DEBUG("prog=%d ver=%d type=%d status=%d serial=%d proc=%d",
|
||||
VIR_DEBUG("prog=%d ver=%d type=%d status=%d serial=%u proc=%d",
|
||||
msg->header.prog, msg->header.vers, msg->header.type,
|
||||
msg->header.status, msg->header.serial, msg->header.proc);
|
||||
|
||||
@ -312,7 +312,7 @@ int virNetServerProgramDispatch(virNetServerProgramPtr prog,
|
||||
* stream packets after we closed down a stream. Just drop & ignore
|
||||
* these.
|
||||
*/
|
||||
VIR_INFO("Ignoring unexpected stream data serial=%d proc=%d status=%d",
|
||||
VIR_INFO("Ignoring unexpected stream data serial=%u proc=%d status=%d",
|
||||
msg->header.serial, msg->header.proc, msg->header.status);
|
||||
/* Send a dummy reply to free up 'msg' & unblock client rx */
|
||||
virNetMessageClear(msg);
|
||||
@ -510,7 +510,7 @@ int virNetServerProgramSendStreamData(virNetServerProgramPtr prog,
|
||||
virNetServerClientPtr client,
|
||||
virNetMessagePtr msg,
|
||||
int procedure,
|
||||
int serial,
|
||||
unsigned int serial,
|
||||
const char *data,
|
||||
size_t len)
|
||||
{
|
||||
|
@ -90,7 +90,7 @@ int virNetServerProgramSendStreamError(virNetServerProgramPtr prog,
|
||||
virNetMessagePtr msg,
|
||||
virNetMessageErrorPtr rerr,
|
||||
int procedure,
|
||||
int serial);
|
||||
unsigned int serial);
|
||||
|
||||
int virNetServerProgramUnknownError(virNetServerClientPtr client,
|
||||
virNetMessagePtr msg,
|
||||
@ -100,7 +100,7 @@ int virNetServerProgramSendStreamData(virNetServerProgramPtr prog,
|
||||
virNetServerClientPtr client,
|
||||
virNetMessagePtr msg,
|
||||
int procedure,
|
||||
int serial,
|
||||
unsigned int serial,
|
||||
const char *data,
|
||||
size_t len);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user