[PATCH] tools: hv: ignore ENOBUFS in the KVP daemon
Vitaly Kuznetsov
vkuznets at redhat.com
Wed Nov 19 14:39:46 UTC 2014
Dexuan Cui <decui at microsoft.com> writes:
>> -----Original Message-----
>> From: Vitaly Kuznetsov
>> >> --
>> >> Vitaly
>> >
>> > OK, I can add this new check:
>> > (I'll send out the v2 tomorrow in case people have new comments)
>> >
>>
>> Thanks!
>>
>> > --- a/tools/hv/hv_kvp_daemon.c
>> > +++ b/tools/hv/hv_kvp_daemon.c
>> > @@ -1770,8 +1770,15 @@ kvp_done:
>> >
>> > len = netlink_send(fd, incoming_cn_msg);
>> > if (len < 0) {
>> > + int saved_errno = errno;
>> > syslog(LOG_ERR, "net_link send failed; error: %d %s", errno,
>> > strerror(errno));
>> > +
>> > + if (saved_errno == ENOMEM || saved_errno == EAGAIN) {
>>
>> Sorry for being pushy, but it seems ENOBUFS is also possible here (at
>> least man sendmsg mentions it).
> OK, I'll add this too. :-)
>
> BTW, I realized sendmsg() can't return EAGAIN here as that's for non-blocking
> socket.
>
> Here I simply ignore the error, hoping the other end will re-try.
>
I agree, it's sufficient to ignore ENOBUFS on recieve path and both
ENOMEM/ENOBUFS on send.
Thanks!
>>
>> > + syslog(LOG_ERR, "send error: ignored");
>> > + continue;
>> > + }
>> > +
>> > exit(EXIT_FAILURE);
>> > }
>> > }
>> >
>> > Thanks,
>> > -- Dexuan
>>
>> Vitaly
>
> -- Dexuan
--
Vitaly
More information about the devel
mailing list