[sheepdog] Several sheepdog functions mix up -1 and -errno in return values
armbru at redhat.com
Thu Feb 12 15:01:26 CET 2015
Two common conventions for functions returning int that may fail:
1. Return non-negative value on success, -1 value on failure.
2. Return non-negative value on success, a negative errno error code on
Both work. But mixing them in the same function is not a good idea.
Suspicious functions in block/sheepdog.c include:
May return 0, -EIO or the value of do_req(). do_req() returns
srco.ret. do_co_req() may set it to the value of send_co_req(). I
don't think that one returns -errno.
May return 0, -EIO or the value of connect_to_sdog(). I don't think
the latter returns -errno.
I suspect there are more. Please audit the file for this kind of
mistake. Good opportunity to document for each function what it's
supposed to return.
More information about the sheepdog