[irp] Move code into irp__process_with_table
authorShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Fri, 3 Dec 2010 05:40:59 +0000 (00:40 -0500)
committerShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Fri, 3 Dec 2010 05:56:27 +0000 (00:56 -0500)
commit4306bf545def47c5f1eee00654a89f7dc136359f
tree542bb256f46eecf7e468b1a01610bf53a1b7618c
parentcee28b9f6b91164bffe84295ee678f2d03867c17
[irp] Move code into irp__process_with_table

We only have 4 mini IRP handling tables, so the
register/unregister functionality hardly seems worth it.  One
of the original reasons why it was added was so that AoE could
register with the bus device to receive IOCTLs.  We could do
it differently:

1. AoE could implement its own bus device as a sub-bus of the
   WinVBlock bus.

2. AoE could hook the WinVBlock bus' mini IRP handling table.
   This might be dangerous if AoE didn't unload properly.

3. AoE could still register with the WinVBlock bus to receive
   IRPs, but as a bus registration function versus an abstract
   IRP registration.

This commit paves the way for 'driver', 'bus', 'disk', 'aoe' to
each have their own IRP handling strategy, but to provide the
convenience of still using the mini IRP handling table strategy.
It removes emphasis from the mini IRP handling table
registration functions.
src/include/irp.h
src/winvblock/irp.c