Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1161920 > unrolled thread
| Started by | Guoqing Jiang <gqJiang@suse.com> |
|---|---|
| First post | 2015-06-10 04:50 +0200 |
| Last post | 2015-06-11 12:00 +0200 |
| Articles | 4 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [Cluster-devel] [PATCH] dlm: remove unnecessary error check Guoqing Jiang <gqJiang@suse.com> - 2015-06-10 04:50 +0200
Re: [Cluster-devel] [PATCH] dlm: remove unnecessary error check Bob Peterson <rpeterso@redhat.com> - 2015-06-10 05:00 +0200
Re: [Cluster-devel] [PATCH] dlm: remove unnecessary error check Guoqing Jiang <gqJiang@suse.com> - 2015-06-11 04:50 +0200
Re: [Cluster-devel] [PATCH] dlm: remove unnecessary error check Guoqing Jiang <gqJiang@suse.com> - 2015-06-11 12:00 +0200
| From | Guoqing Jiang <gqJiang@suse.com> |
|---|---|
| Date | 2015-06-10 04:50 +0200 |
| Subject | Re: [Cluster-devel] [PATCH] dlm: remove unnecessary error check |
| Message-ID | <pzEfw-10X-13@gated-at.bofh.it> |
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 <gqjiang@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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Bob Peterson <rpeterso@redhat.com> |
|---|---|
| Date | 2015-06-10 05:00 +0200 |
| Message-ID | <pzEpb-1dn-5@gated-at.bofh.it> |
| In reply to | #1161920 |
----- 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 <gqjiang@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. Regards, Bob Peterson Red Hat File Systems -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Guoqing Jiang <gqJiang@suse.com> |
|---|---|
| Date | 2015-06-11 04:50 +0200 |
| Message-ID | <pA0J4-AO-9@gated-at.bofh.it> |
| In reply to | #1161922 |
Bob Peterson wrote:
>
>>>>
>>>>
>>>>> ----- Original Message -----
>>>>>
>>>>>
>>>>>
>>>>>> We don't need the redundant logic since send_message always returns 0.
>>>>>>
>>>>>> Signed-off-by: Guoqing Jiang <gqjiang@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);
>>>>>>
>
> Hi Guoqing,
>
> Sorry, I was momentarily confused. I think you misunderstood what I was saying.
> What I meant was: Instead of doing:
>
> + return send_message(mh, ms);
> ...where send_message returns 0, it might be better to have:
>
> static void send_message(struct dlm_mhandle *mh, struct dlm_message *ms)
> {
> dlm_message_out(ms);
> dlm_lowcomms_commit_buffer(mh);
> }
>
> ...And in send_common, do (in both places):
> + send_message(mh, ms);
> + return 0;
>
> Since it's so short, it might even be better to code send_message as a macro,
> or at least an "inline" function.
>
>
Hi Bob,
Got it, thanks. It is a better solution but it is not a bug fix or
similar thing, so maybe just leave it as it is.
Regards,
Guoqing
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Guoqing Jiang <gqJiang@suse.com> |
|---|---|
| Date | 2015-06-11 12:00 +0200 |
| Message-ID | <pA7rc-1YG-3@gated-at.bofh.it> |
| In reply to | #1161922 |
Hi David,
David Teigland wrote:
> On Wed, Jun 10, 2015 at 11:10:44AM +0800, Guoqing Jiang wrote:
>
>> 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.
>>
>
> I'm not inclined to take any patches unless there's a problem identified.
>
> .
>
Do you consider take the following clean up? If yes, I will send a
formal patch,
otherwise pls ignore it.
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 35502d4..7c822f7 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -3747,30 +3747,7 @@ static int send_bast(struct dlm_rsb *r, struct
dlm_lkb *lkb, int mode)
static int send_lookup(struct dlm_rsb *r, struct dlm_lkb *lkb)
{
- struct dlm_message *ms;
- struct dlm_mhandle *mh;
- int to_nodeid, error;
-
- to_nodeid = dlm_dir_nodeid(r);
-
- error = add_to_waiters(lkb, DLM_MSG_LOOKUP, to_nodeid);
- if (error)
- return error;
-
- error = create_message(r, NULL, to_nodeid, DLM_MSG_LOOKUP, &ms,
&mh);
- if (error)
- goto fail;
-
- send_args(r, lkb, ms);
-
- error = send_message(mh, ms);
- if (error)
- goto fail;
- return 0;
-
- fail:
- remove_from_waiters(lkb, DLM_MSG_LOOKUP_REPLY);
- return error;
+ return send_common(r, lkb, DLM_MSG_LOOKUP);
}
Thanks,
Guoqing
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web