Re: [PATCH 1/3] staging: lustre/lustre/lov: Remove unneeded 'if' statement in lov_request.c/lov_check_set()

From: Riccardo Lucchese
Date: Sun Jul 20 2014 - 07:08:45 EST


Dan,

On Sun, Jul 20, 2014 at 07:52:53AM +0300, Dan Carpenter wrote:
> On Sat, Jul 19, 2014 at 09:34:56PM +0200, Riccardo Lucchese wrote:
> > It is silly to go through an if statement to set a single boolean
> > value in function of a single boolean expression. In the function
> > lov_check_set, assign the return value directly.
> >
> > Signed-off-by: Riccardo Lucchese <riccardo.lucchese@xxxxxxxxx>
> > ---
> > drivers/staging/lustre/lustre/lov/lov_request.c | 11 +++++------
> > 1 file changed, 5 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/staging/lustre/lustre/lov/lov_request.c b/drivers/staging/lustre/lustre/lov/lov_request.c
> > index ce830e4..90fc66a 100644
> > --- a/drivers/staging/lustre/lustre/lov/lov_request.c
> > +++ b/drivers/staging/lustre/lustre/lov/lov_request.c
> > @@ -140,14 +140,13 @@ void lov_set_add_req(struct lov_request *req, struct lov_request_set *set)
> >
> > static int lov_check_set(struct lov_obd *lov, int idx)
> > {
> > - int rc = 0;
> > + int rc;
> > mutex_lock(&lov->lov_lock);
> >
> > - if (lov->lov_tgts[idx] == NULL ||
> > - lov->lov_tgts[idx]->ltd_active ||
> > - (lov->lov_tgts[idx]->ltd_exp != NULL &&
> > - class_exp2cliimp(lov->lov_tgts[idx]->ltd_exp)->imp_connect_tried))
> > - rc = 1;
> > + rc = lov->lov_tgts[idx] == NULL ||
> > + lov->lov_tgts[idx]->ltd_active ||
> > + (lov->lov_tgts[idx]->ltd_exp != NULL &&
> > + class_exp2cliimp(lov->lov_tgts[idx]->ltd_exp)->imp_connect_tried);
>
> I don't see how this makes the code more readable at all.

Thank you for the comment. Would you consider something like the
following diff instead ? Otherwise, I will resend the series for
review without this change.

riccardo

---

diff --git a/drivers/staging/lustre/lustre/lov/lov_request.c b/drivers/staging/lustre/lustre/lov/lov_request.c
index ce830e4..ae670bb 100644
--- a/drivers/staging/lustre/lustre/lov/lov_request.c
+++ b/drivers/staging/lustre/lustre/lov/lov_request.c
@@ -140,14 +140,14 @@ void lov_set_add_req(struct lov_request *req, struct lov_request_set *set)

static int lov_check_set(struct lov_obd *lov, int idx)
{
- int rc = 0;
+ int rc;
+ struct lov_tgt_desc *desc;
mutex_lock(&lov->lov_lock);

- if (lov->lov_tgts[idx] == NULL ||
- lov->lov_tgts[idx]->ltd_active ||
- (lov->lov_tgts[idx]->ltd_exp != NULL &&
- class_exp2cliimp(lov->lov_tgts[idx]->ltd_exp)->imp_connect_tried))
- rc = 1;
+ desc = lov->lov_tgts[idx];
+ rc = !desc || desc->ltd_active ||
+ (desc->ltd_exp &&
+ class_exp2cliimp(desc->ltd_exp)->imp_connect_tried);

mutex_unlock(&lov->lov_lock);
return rc;
--
1.9.1
--
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/