block: Create bip slabs with embedded integrity vectors
authorMartin K. Petersen <martin.petersen@oracle.com>
Fri, 26 Jun 2009 13:37:49 +0000 (15:37 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Wed, 1 Jul 2009 08:56:25 +0000 (10:56 +0200)
commit7878cba9f0037f5599004b03a1260b32d9050360
treebff5e1a47b6e64e45df0428925cc6db8542cad62
parent6118b70b3a0b4c583439bb77600194c82f220ce3
block: Create bip slabs with embedded integrity vectors

This patch restores stacking ability to the block layer integrity
infrastructure by creating a set of dedicated bip slabs.  Each bip slab
has an embedded bio_vec array at the end.  This cuts down on memory
allocations and also simplifies the code compared to the original bvec
version.  Only the largest bip slab is backed by a mempool.  The pool is
contained in the bio_set so stacking drivers can ensure forward
progress.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@carl.(none)>
block/blk-core.c
drivers/md/dm.c
fs/bio-integrity.c
fs/bio.c
include/linux/bio.h