diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2006-04-10 03:17:20 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-04-17 17:24:57 -0400 |
commit | 2436f039d26a91e5404974ee0cb789b17db46168 (patch) | |
tree | b93157b33c1c386e44b747f280cc609d22dd5b74 /fs/partitions | |
parent | 66e0a9888b774af625ce544f7c6597c7506d07db (diff) |
[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>
Diffstat (limited to 'fs/partitions')
-rw-r--r-- | fs/partitions/check.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/partitions/check.c b/fs/partitions/check.c index f3b6af071722..45ae7dd3c650 100644 --- a/fs/partitions/check.c +++ b/fs/partitions/check.c | |||
@@ -372,6 +372,7 @@ static char *make_block_name(struct gendisk *disk) | |||
372 | char *name; | 372 | char *name; |
373 | static char *block_str = "block:"; | 373 | static char *block_str = "block:"; |
374 | int size; | 374 | int size; |
375 | char *s; | ||
375 | 376 | ||
376 | size = strlen(block_str) + strlen(disk->disk_name) + 1; | 377 | size = strlen(block_str) + strlen(disk->disk_name) + 1; |
377 | name = kmalloc(size, GFP_KERNEL); | 378 | name = kmalloc(size, GFP_KERNEL); |
@@ -379,6 +380,10 @@ static char *make_block_name(struct gendisk *disk) | |||
379 | return NULL; | 380 | return NULL; |
380 | strcpy(name, block_str); | 381 | strcpy(name, block_str); |
381 | strcat(name, disk->disk_name); | 382 | strcat(name, disk->disk_name); |
383 | /* ewww... some of these buggers have / in name... */ | ||
384 | s = strchr(name, '/'); | ||
385 | if (s) | ||
386 | *s = '!'; | ||
382 | return name; | 387 | return name; |
383 | } | 388 | } |
384 | 389 | ||