[PATCH] Fix block device symlink name
authorStephen Rothwell <sfr@canb.auug.org.au>
Mon, 10 Apr 2006 07:17:20 +0000 (00:17 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 17 Apr 2006 21:24:57 +0000 (14:24 -0700)
As noted further on the this file, some block devices have a / in their
name, so fix the "block:..." symlink name the same as the /sys/block name.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/partitions/check.c

index f3b6af071722e8aca189d1aa5d2a82dff95dc378..45ae7dd3c650399baafe5c8d20cc3b6734181d7a 100644 (file)
@@ -372,6 +372,7 @@ static char *make_block_name(struct gendisk *disk)
        char *name;
        static char *block_str = "block:";
        int size;
+       char *s;
 
        size = strlen(block_str) + strlen(disk->disk_name) + 1;
        name = kmalloc(size, GFP_KERNEL);
@@ -379,6 +380,10 @@ static char *make_block_name(struct gendisk *disk)
                return NULL;
        strcpy(name, block_str);
        strcat(name, disk->disk_name);
+       /* ewww... some of these buggers have / in name... */
+       s = strchr(name, '/');
+       if (s)
+               *s = '!';
        return name;
 }