[PATCH] fix nbd driver for 2.5 block layer
This makes NBD work with the new linux 2.5 block layer design. Specifically, it fixes memory corruption that results from module removal and possible memory corruption from sending or receiving disk data from the server. It essentially rolls together the changes from two of the last patchlets that I emailed: the fix for module removal & the fix for incorrect struct bio usage. I believe it's wisest to roll these both together into this one patch since they both deal with making NBD work better with the 2.5 linux block layer design and without either of which, it's possible that NBD will corrupt memory. Other changes I'd like to see introduced (like in the earlier jumbo patch) meanwhile are feature enhancements so they can wait. This patch also should address all the very helpful concerns that have been raised so far. Particularly: 1. that the very first submitted NBD patch was broken down [Andrew] 2. that only 1 spinlock is used for all the NBD request_queue structures used [Jens,Al] 3. that kmap() is used in case of highmem pages [Jens] 4. that the allocation of request_queue is dynamic and seperate from other allocated objects [Al]
Showing
Please register or sign in to comment