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 | |
| 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>
| -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 | ||
