[PATCH] Fix block device symlink name

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>
This commit is contained in:
Stephen Rothwell 2006-04-10 00:17:20 -07:00 committed by Greg Kroah-Hartman
parent 66e0a9888b
commit 2436f039d2

View File

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