Started rewriting the pktcdvd driver to be more modular. It needs to be split a bit, since CD-R and CD-RW writing are very different. At the same time I want to clean up the request handling, so it actually uses the exported function and doesn't mess too much with the block level internals. The latter was particularly bad, since it meant that there was lots of stuff I needed to do myself that I really had no business messing with.
Linus integrated my block per-queue freelist and modular elevator patch, after a discussion spawned about his unhappiness with the current setup. I implemented a new elevator based on his ideas (elevator_linus_*) which is the default now. Of course a couple of bugs showed up after integration, but I guess that's the way it always goes -- I have fixed these now.The only thing I need to do now is audit all block drivers and make sure they do the right thing wrt blk_init_queue and blk_cleanup_queue. If not, we could end you leaking requests as time passes (requests are not located in a static table anymore, instead we allocated them from a dedicated slab cache). I've already fixed IDE, SCSI is next. After that, I don't think there are any left. The patch for loop I pushed sometime ago, just in case the merge happened before 2.4.