match_string() returns the index of an array for a matching string,
which can be used instead of open coded variant.

Cc: Kent Overstreet <kent.overstr...@gmail.com>
Cc: linux-bca...@vger.kernel.org 
Signed-off-by: Yisheng Xie <xieyishe...@huawei.com>
---
 drivers/md/bcache/util.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/md/bcache/util.c b/drivers/md/bcache/util.c
index 74febd5..cd1f4fd 100644
--- a/drivers/md/bcache/util.c
+++ b/drivers/md/bcache/util.c
@@ -136,22 +136,17 @@ ssize_t bch_snprint_string_list(char *buf, size_t size, 
const char * const list[
 
 ssize_t bch_read_string_list(const char *buf, const char * const list[])
 {
-       size_t i;
+       ssize_t i;
        char *s, *d = kstrndup(buf, PAGE_SIZE - 1, GFP_KERNEL);
        if (!d)
                return -ENOMEM;
 
        s = strim(d);
 
-       for (i = 0; list[i]; i++)
-               if (!strcmp(list[i], s))
-                       break;
+       i = match_string(list, -1, s);
 
        kfree(d);
 
-       if (!list[i])
-               return -EINVAL;
-
        return i;
 }
 
-- 
1.7.12.4

Reply via email to