linux/drivers/block
Rusty Russell 6e5aa7efb2 virtio: reset function
A reset function solves three problems:

1) It allows us to renegotiate features, eg. if we want to upgrade a
   guest driver without rebooting the guest.

2) It gives us a clean way of shutting down virtqueues: after a reset,
   we know that the buffers won't be used by the host, and

3) It helps the guest recover from messed-up drivers.

So we remove the ->shutdown hook, and the only way we now remove
feature bits is via reset.

We leave it to the driver to do the reset before it deletes queues:
the balloon driver, for example, needs to chat to the host in its
remove function.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2008-02-04 23:50:03 +11:00
..
aoe Driver core: convert block from raw kobjects to core devices 2008-01-24 20:40:36 -08:00
paride paride: Convert from class_device to device for block/paride 2008-01-24 20:40:06 -08:00
amiflop.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
ataflop.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
cciss_cmd.h [PATCH] cciss: add support for 1024 logical volumes 2006-12-07 08:39:30 -08:00
cciss_scsi.c cciss: update copyright notices 2007-10-29 11:33:05 +01:00
cciss_scsi.h cciss: update copyright notices 2007-10-29 11:33:05 +01:00
cciss.c cciss: fix bug in overriding ->data_len before completion 2008-01-29 21:55:18 +01:00
cciss.h [PATCH] cciss: add support for 1024 logical volumes 2006-12-07 08:39:30 -08:00
cpqarray.c blk_end_request: changing cpqarray (take 4) 2008-01-28 10:37:00 +01:00
cpqarray.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cryptoloop.c SG: Change sg_set_page() to take length and offset argument 2007-10-24 11:20:47 +02:00
DAC960.c blk_end_request: changing DAC960 (take 4) 2008-01-28 10:36:04 +01:00
DAC960.h Fix DAC960 driver on machines which don't support 64-bit DMA 2007-09-11 17:21:19 -07:00
floppy.c blk_end_request: changing floppy (take 4) 2008-01-28 10:36:21 +01:00
ida_cmd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ida_ioctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig cdrom: Add support for Sega Dreamcast GD-ROM. 2008-01-28 13:19:04 +09:00
loop.c loop: fix bad bio_alloc() nr_iovec request 2008-01-11 10:14:40 +01:00
Makefile Remove old lguest bus and drivers. 2007-10-23 15:49:55 +10:00
nbd.c blk_end_request: changing nbd (take 4) 2008-01-28 10:36:37 +01:00
pktcdvd.c Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
ps2esdi.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
ps3disk.c blk_end_request: changing ps3disk (take 4) 2008-01-28 10:36:38 +01:00
rd.c rd: fix data corruption on memory pressure 2007-11-14 18:45:42 -08:00
smart1,2.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunvdc.c block/sunvdc.c:print_version() must be __devinit 2008-02-01 09:26:32 +01:00
swim3.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
sx8.c blk_end_request: changing sx8 (take 4) 2008-01-28 10:36:42 +01:00
ub.c USB: Remove unnecessary zeroing from ub 2008-02-01 14:34:47 -08:00
umem.c Cleanup umem driver: fix most checkpatch warnings, conform to kernel 2007-12-18 08:29:28 +01:00
umem.h drivers/block/umem: trim trailing whitespace 2007-10-10 09:25:59 +02:00
viodasd.c blk_end_request: changing viodasd (take 4) 2008-01-28 10:36:44 +01:00
virtio_blk.c virtio: reset function 2008-02-04 23:50:03 +11:00
xd.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
xd.h [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
xen-blkfront.c blk_end_request: changing xen-blkfront (take 4) 2008-01-28 10:36:46 +01:00
xsysace.c xsysace: end request handling fix 2008-01-29 21:54:53 +01:00
z2ram.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00