diff options
author | NeilBrown <neilb@suse.de> | 2006-06-26 03:27:47 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-26 12:58:38 -0400 |
commit | acc55e220166a5ad898e66ad6153fd62eaaac76d (patch) | |
tree | c342dcd3303f01d97c5fe7718af9daf22ec086d2 /drivers/md/bitmap.c | |
parent | 0cdd02cabd86b5d547f882005e23a93929f0ace9 (diff) |
[PATCH] md/bitmap: tidy up i_writecount handling in md/bitmap
md/bitmap modifies i_writecount of a bitmap file to make sure that no-one else
writes to it. The reverting of the change is sometimes done twice, and there
is one error path where it is omitted.
This patch tidies that up.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/bitmap.c')
-rw-r--r-- | drivers/md/bitmap.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c index dfe5e12741ba..e40d3e4b8d27 100644 --- a/drivers/md/bitmap.c +++ b/drivers/md/bitmap.c | |||
@@ -625,7 +625,6 @@ static void drain_write_queues(struct bitmap *bitmap) | |||
625 | static void bitmap_file_put(struct bitmap *bitmap) | 625 | static void bitmap_file_put(struct bitmap *bitmap) |
626 | { | 626 | { |
627 | struct file *file; | 627 | struct file *file; |
628 | struct inode *inode; | ||
629 | unsigned long flags; | 628 | unsigned long flags; |
630 | 629 | ||
631 | spin_lock_irqsave(&bitmap->lock, flags); | 630 | spin_lock_irqsave(&bitmap->lock, flags); |
@@ -637,13 +636,8 @@ static void bitmap_file_put(struct bitmap *bitmap) | |||
637 | 636 | ||
638 | bitmap_file_unmap(bitmap); | 637 | bitmap_file_unmap(bitmap); |
639 | 638 | ||
640 | if (file) { | 639 | if (file) |
641 | inode = file->f_mapping->host; | ||
642 | spin_lock(&inode->i_lock); | ||
643 | atomic_set(&inode->i_writecount, 1); /* allow writes again */ | ||
644 | spin_unlock(&inode->i_lock); | ||
645 | fput(file); | 640 | fput(file); |
646 | } | ||
647 | } | 641 | } |
648 | 642 | ||
649 | 643 | ||