linux-hardened/block
FUJITA Tomonori 97f46ae45c [SCSI] bsg: add release callback support
This patch adds release callback support, which is called when a bsg
device goes away. bsg_register_queue() takes a pointer to a callback
function. This feature is useful for stuff like sas_host that can't
use the release callback in struct device.

If a caller doesn't need bsg's release callback, it can call
bsg_register_queue() with NULL pointer (e.g. scsi devices can use
release callback in struct device so they don't need bsg's callback).

With this patch, bsg uses kref for refcounts on bsg devices instead of
get/put_device in fops->open/release. bsg calls put_device and the
caller's release callback (if it was registered) in kref_put's
release.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2008-04-22 15:16:32 -05:00
..
as-iosched.c block: kill swap_io_context() 2008-02-01 11:34:49 +01:00
blk-barrier.c block: fix blkdev_issue_flush() not detecting and passing EOPNOTSUPP back 2008-03-04 11:47:46 +01:00
blk-core.c unexport blk_{get,put}_queue 2008-03-04 11:28:32 +01:00
blk-exec.c block: make core bits checkpatch compliant 2008-02-01 09:26:33 +01:00
blk-ioc.c cfq-iosched: add hlist for browsing parallel to the radix tree 2008-02-19 10:04:00 +01:00
blk-map.c block: move the padding adjustment to blk_rq_map_sg 2008-04-21 09:50:08 +02:00
blk-merge.c block: move the padding adjustment to blk_rq_map_sg 2008-04-21 09:50:08 +02:00
blk-settings.c Fix bounce setting for 64-bit 2008-04-02 09:06:44 +02:00
blk-sysfs.c block: fix blk_register_queue() return value 2008-04-21 09:51:06 +02:00
blk-tag.c block/blk-tag.c should #include "blk.h" 2008-03-04 11:28:24 +01:00
blk.h proper prototype for blk_dev_init() 2008-03-04 11:28:29 +01:00
blktrace.c blktrace: Add blktrace ioctls to SCSI generic devices 2008-01-28 10:04:46 +01:00
bsg.c [SCSI] bsg: add release callback support 2008-04-22 15:16:32 -05:00
cfq-iosched.c cfq-iosched: do not leak ioc_data across iosched switches 2008-04-10 08:28:01 +02:00
compat_ioctl.c ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls (take 3) 2008-04-18 00:46:24 +02:00
deadline-iosched.c block: let elv_register() return void 2007-12-18 08:29:28 +01:00
elevator.c elevator: make elevator_get() attempt to load the appropriate module 2008-02-19 10:20:37 +01:00
genhd.c genhd must_check warning fix 2008-03-12 12:34:37 -07:00
ioctl.c compat_ioctl: move common block ioctls to compat_blkdev_ioctl 2007-10-10 09:26:00 +02:00
Kconfig Kconfig: clean up block/Kconfig help descriptions 2008-04-21 09:51:04 +02:00
Kconfig.iosched update I/O sched Kconfig help texts - CFQ is now default, not AS. 2007-02-17 20:08:22 +01:00
Makefile block: ll_rw_blk.c split, add blk-merge.c 2008-01-29 21:55:12 +01:00
noop-iosched.c block: let elv_register() return void 2007-12-18 08:29:28 +01:00
scsi_ioctl.c block: restore the meaning of rq->data_len to the true data length 2008-03-04 11:17:11 +01:00