OSDN Git Service

staging: lustre: fix inverted test on strcmp
authorNeilBrown <neilb@suse.com>
Mon, 12 Feb 2018 21:09:25 +0000 (08:09 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Feb 2018 14:13:32 +0000 (15:13 +0100)
This code tests various fields to see if they are different, except
for one where there test is if they are the same.
This is clearly wrong for a function that is tesding for equality.

So change "!strcmp()" which I always find hard to read, to
"strcmp() != 0" which obviously means that the strings are not equal.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/include/lustre_lmv.h

index f4298e5..080ec1f 100644 (file)
@@ -63,7 +63,7 @@ lsm_md_eq(const struct lmv_stripe_md *lsm1, const struct lmv_stripe_md *lsm2)
            lsm1->lsm_md_master_mdt_index != lsm2->lsm_md_master_mdt_index ||
            lsm1->lsm_md_hash_type != lsm2->lsm_md_hash_type ||
            lsm1->lsm_md_layout_version != lsm2->lsm_md_layout_version ||
-           !strcmp(lsm1->lsm_md_pool_name, lsm2->lsm_md_pool_name))
+           strcmp(lsm1->lsm_md_pool_name, lsm2->lsm_md_pool_name) != 0)
                return false;
 
        for (idx = 0; idx < lsm1->lsm_md_stripe_count; idx++) {