block: don't block events on excl write for non-optical devices
authorTejun Heo <tj@kernel.org>
Thu, 21 Apr 2011 18:54:46 +0000 (20:54 +0200)
committerJens Axboe <jaxboe@fusionio.com>
Thu, 21 Apr 2011 18:54:46 +0000 (20:54 +0200)
commitd4dc210f69bcb0b4bef5a83b1c323817be89bad1
tree58774a27fa6faff1260a416a86d2c121f0013431
parent1196f8b814f32cd04df334abf47648c2a9fd8324
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>
drivers/block/paride/pcd.c
drivers/cdrom/viocd.c
drivers/ide/ide-cd.c
drivers/scsi/sr.c
fs/block_dev.c
include/linux/genhd.h