Bob Peterson wrote: > ----- Original Message ----- > >> Hi Bob, >> >> Bob Peterson wrote: >> >>> ----- Original Message ----- >>> >>> >>>> We don't need the redundant logic since send_message always returns 0. >>>> >>>> Signed-off-by: Guoqing Jiang <gqji...@suse.com> >>>> --- >>>> fs/dlm/lock.c | 10 ++-------- >>>> 1 file changed, 2 insertions(+), 8 deletions(-) >>>> >>>> diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c >>>> index 35502d4..6fc3de9 100644 >>>> --- a/fs/dlm/lock.c >>>> +++ b/fs/dlm/lock.c >>>> @@ -3656,10 +3656,7 @@ static int send_common(struct dlm_rsb *r, struct >>>> dlm_lkb *lkb, int mstype) >>>> >>>> send_args(r, lkb, ms); >>>> >>>> - error = send_message(mh, ms); >>>> - if (error) >>>> - goto fail; >>>> - return 0; >>>> + return send_message(mh, ms); >>>> >>>> fail: >>>> remove_from_waiters(lkb, msg_reply_type(mstype)); >>>> @@ -3763,10 +3760,7 @@ static int send_lookup(struct dlm_rsb *r, struct >>>> dlm_lkb *lkb) >>>> >>>> send_args(r, lkb, ms); >>>> >>>> - error = send_message(mh, ms); >>>> - if (error) >>>> - goto fail; >>>> - return 0; >>>> + return send_message(mh, ms); >>>> >>>> fail: >>>> remove_from_waiters(lkb, DLM_MSG_LOOKUP_REPLY); >>>> -- >>>> 1.7.12.4 >>>> >>>> >>> Hi, >>> >>> The patch looks okay, but if remove_from_waiters() always returns 0, >>> wouldn't it be better to change the function from int to void and >>> return 0 here? The advantage is that code spelunkers wouldn't need >>> to back-track one more level (not to mention the instruction or two >>> it might save). >>> >>> >>> >> Seems remove_from_waiters is not always returns 0, the return value >> could be -1 or 0 which depends on _remove_from_waiters. >> >> BTW, I found that there are no big difference between send_common >> and send_lookup, since the send_common can also be use to send >> lookup message, I guess send_lookup can be removed as well. >> >> Thanks, >> Guoqing >> > > Hi Guoqing, > > If remove_from_waiters can return -1, then the patch would prevent the > code from calling remove_from_waiters. So the patch still doesn't look > right to me. > > Hi Bob,
The remove_from_waiters could only be invoked after failed to create_message, right? Since send_message always returns 0, this patch doesn't touch anything about the failure path, and it also doesn't change the original semantic. Thanks, Guoqing