Module Name: src Committed By: riz Date: Fri Aug 12 20:48:48 UTC 2011
Modified Files: src/sys/arch/xen/xen [netbsd-5]: xbdback_xenbus.c Log Message: Pull up following revision(s) (requested by bouyer in ticket #1654): sys/arch/xen/xen/xbdback_xenbus.c: revision 1.42 sys/arch/xen/xen/xbdback_xenbus.c: revision 1.43 sys/arch/xen/xen/xbdback_xenbus.c: revision 1.44 Make sure to call xbdback_trampoline() at splbio() Several fixes to the continuation engine: - make sure to enter the continuation loop at splbio(), and add some KASSERT() for this. - When a flush operation is enqueued to the workqueue, make sure the continuation loop can't be restarted by a previous workqueue completion or an event. We can't restart it at this point because the flush even is still recorded as the current I/O. For this add a xbdback_co_cache_doflush_wait() which acts as a noop; the workqueue callback will restart the loop once the flush is complete. Should fix "kernel diagnostic assertion xbd_io->xio_mapped == 0" panics reported by Jeff Rizzo on port-xen@. Add a comment explaing why a flush workqueue is handled differently from read/write workqueue requests. To generate a diff of this commit: cvs rdiff -u -r1.20.4.5 -r1.20.4.6 src/sys/arch/xen/xen/xbdback_xenbus.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.