Re: [PATCH] tools: hv: ignore ENOBUFS in the KVP daemon

From: Vitaly Kuznetsov
Date: Wed Nov 19 2014 - 09:40:10 EST


Dexuan Cui <decui@xxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/