aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-03-09 13:54:27 -0500
committerTejun Heo <tj@kernel.org>2011-03-09 13:54:27 -0500
commitfacc31ddc3570a3a0d8951c94f16b898e01b464d (patch)
tree23b8294910c26cabb4335a418b7ca27e52eaaaa8
parentdf457f845e5449be2e7d96668791f789b3770ac7 (diff)
block: Don't implicitly trigger event check on disk_unblock_events()
Currently, disk_unblock_events() implicitly kick event check if the block count reaches zero. This behavior is not described in the comment and hinders with future changes. Make the unblocker explicitly check events by calling disk_check_events() as necessary. This patch doesn't cause any behavior difference. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Jens Axboe <axboe@kernel.dk> Cc: Kay Sievers <kay.sievers@vrfy.org>
-rw-r--r--block/genhd.c2
-rw-r--r--fs/block_dev.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/block/genhd.c b/block/genhd.c
index 3e2b57b55e38..c91a2dac6b6b 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -1494,7 +1494,7 @@ void disk_block_events(struct gendisk *disk)
1494void disk_unblock_events(struct gendisk *disk) 1494void disk_unblock_events(struct gendisk *disk)
1495{ 1495{
1496 if (disk->ev) 1496 if (disk->ev)
1497 __disk_unblock_events(disk, true); 1497 __disk_unblock_events(disk, false);
1498} 1498}
1499 1499
1500/** 1500/**
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 889287019599..fffdf86c1757 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -1446,6 +1446,7 @@ int blkdev_put(struct block_device *bdev, fmode_t mode)
1446 if (bdev_free) { 1446 if (bdev_free) {
1447 if (bdev->bd_write_holder) { 1447 if (bdev->bd_write_holder) {
1448 disk_unblock_events(bdev->bd_disk); 1448 disk_unblock_events(bdev->bd_disk);
1449 disk_check_events(bdev->bd_disk);
1449 bdev->bd_write_holder = false; 1450 bdev->bd_write_holder = false;
1450 } else 1451 } else
1451 disk_check_events(bdev->bd_disk); 1452 disk_check_events(bdev->bd_disk);