summaryrefslogtreecommitdiff
path: root/drivers/block/paride/pcd.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-04-21 18:54:46 (GMT)
committerJens Axboe <jaxboe@fusionio.com>2011-04-21 18:54:46 (GMT)
commitd4dc210f69bcb0b4bef5a83b1c323817be89bad1 (patch)
tree58774a27fa6faff1260a416a86d2c121f0013431 /drivers/block/paride/pcd.c
parent1196f8b814f32cd04df334abf47648c2a9fd8324 (diff)
downloadlinux-d4dc210f69bcb0b4bef5a83b1c323817be89bad1.tar.xz
block: don't block events on excl write for non-optical devices
Disk event code automatically blocks events on excl write. This is primarily to avoid issuing polling commands while burning is in progress. This behavior doesn't fit other types of devices with removeable media where polling commands don't have adverse side effects and door locking usually doesn't exist. This patch introduces new genhd flag which controls the auto-blocking behavior and uses it to enable auto-blocking only on optical devices. Note for stable: 2.6.38 and later only Cc: stable@kernel.org Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'drivers/block/paride/pcd.c')
-rw-r--r--drivers/block/paride/pcd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/paride/pcd.c b/drivers/block/paride/pcd.c
index 2f2ccf6..a0aabd9 100644
--- a/drivers/block/paride/pcd.c
+++ b/drivers/block/paride/pcd.c
@@ -320,6 +320,7 @@ static void pcd_init_units(void)
disk->first_minor = unit;
strcpy(disk->disk_name, cd->name); /* umm... */
disk->fops = &pcd_bdops;
+ disk->flags = GENHD_FL_BLOCK_EVENTS_ON_EXCL_WRITE;
disk->events = DISK_EVENT_MEDIA_CHANGE;
}
}