drivers/md/md.c: use strreplace()
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Thu, 25 Jun 2015 22:02:36 +0000 (15:02 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 26 Jun 2015 00:00:40 +0000 (17:00 -0700)
There's no point in starting over when we meet a '/'.  This also
eliminates a stack variable and a little .text.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: NeilBrown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/md/md.c

index 4dbed4a67aaf40e3c04bde925870c24d13cd1b4e..8d9f89b4519d3c575647dc9e1f67239d2d61abf9 100644 (file)
@@ -2024,7 +2024,6 @@ static int bind_rdev_to_array(struct md_rdev *rdev, struct mddev *mddev)
 {
        char b[BDEVNAME_SIZE];
        struct kobject *ko;
-       char *s;
        int err;
 
        /* prevent duplicates */
@@ -2070,8 +2069,7 @@ static int bind_rdev_to_array(struct md_rdev *rdev, struct mddev *mddev)
                return -EBUSY;
        }
        bdevname(rdev->bdev,b);
-       while ( (s=strchr(b, '/')) != NULL)
-               *s = '!';
+       strreplace(b, '/', '!');
 
        rdev->mddev = mddev;
        printk(KERN_INFO "md: bind<%s>\n", b);