diff options
author | NeilBrown <neilb@cse.unsw.edu.au> | 2005-06-21 20:17:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-21 22:07:43 -0400 |
commit | 78d742d876bdf7263d0d966fbe9593559fd904a7 (patch) | |
tree | 00e700128a9ab1152958a53da1ee6ef48e358543 /drivers/md/md.c | |
parent | 32a7627cf3a35396a8e834faf34e38ae9f3b1309 (diff) |
[PATCH] md: a couple of tidyups relating to the bitmap file.
1/ When init from disk, it is a BUG if there is nowhere
to init from,
2/ use seq_path to print path in /proc/mdstat
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r-- | drivers/md/md.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index c402f6cc7047..52fafb820f74 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -3213,10 +3213,8 @@ static int md_seq_show(struct seq_file *seq, void *v) | |||
3213 | seq_printf(seq, "\n "); | 3213 | seq_printf(seq, "\n "); |
3214 | 3214 | ||
3215 | if ((bitmap = mddev->bitmap)) { | 3215 | if ((bitmap = mddev->bitmap)) { |
3216 | char *buf, *path; | ||
3217 | unsigned long chunk_kb; | 3216 | unsigned long chunk_kb; |
3218 | unsigned long flags; | 3217 | unsigned long flags; |
3219 | buf = kmalloc(PAGE_SIZE, GFP_KERNEL); | ||
3220 | spin_lock_irqsave(&bitmap->lock, flags); | 3218 | spin_lock_irqsave(&bitmap->lock, flags); |
3221 | chunk_kb = bitmap->chunksize >> 10; | 3219 | chunk_kb = bitmap->chunksize >> 10; |
3222 | seq_printf(seq, "bitmap: %lu/%lu pages [%luKB], " | 3220 | seq_printf(seq, "bitmap: %lu/%lu pages [%luKB], " |
@@ -3227,13 +3225,14 @@ static int md_seq_show(struct seq_file *seq, void *v) | |||
3227 | << (PAGE_SHIFT - 10), | 3225 | << (PAGE_SHIFT - 10), |
3228 | chunk_kb ? chunk_kb : bitmap->chunksize, | 3226 | chunk_kb ? chunk_kb : bitmap->chunksize, |
3229 | chunk_kb ? "KB" : "B"); | 3227 | chunk_kb ? "KB" : "B"); |
3230 | if (bitmap->file && buf) { | 3228 | if (bitmap->file) { |
3231 | path = file_path(bitmap->file, buf, PAGE_SIZE); | 3229 | seq_printf(seq, ", file: "); |
3232 | seq_printf(seq, ", file: %s", path ? path : ""); | 3230 | seq_path(seq, bitmap->file->f_vfsmnt, |
3231 | bitmap->file->f_dentry," \t\n"); | ||
3233 | } | 3232 | } |
3233 | |||
3234 | seq_printf(seq, "\n"); | 3234 | seq_printf(seq, "\n"); |
3235 | spin_unlock_irqrestore(&bitmap->lock, flags); | 3235 | spin_unlock_irqrestore(&bitmap->lock, flags); |
3236 | kfree(buf); | ||
3237 | } | 3236 | } |
3238 | 3237 | ||
3239 | seq_printf(seq, "\n"); | 3238 | seq_printf(seq, "\n"); |