Files
kernel-tenderloin-3.0/include/linux
Tejun Heo 451a9ebf65 bio: fix bio_kmalloc()
Impact: fix bio_kmalloc() and its destruction path

bio_kmalloc() was broken in two ways.

* bvec_alloc_bs() first allocates bvec using kmalloc() and then
  ignores it and allocates again like non-kmalloc bvecs.

* bio_kmalloc_destructor() didn't check for and free bio integrity
  data.

This patch fixes the above problems.  kmalloc patch is separated out
from bio_alloc_bioset() and allocates the requested number of bvecs as
inline bvecs.

* bio_alloc_bioset() no longer takes NULL @bs.  None other than
  bio_kmalloc() used it and outside users can't know how it was
  allocated anyway.

* Define and use BIO_POOL_NONE so that pool index check in
  bvec_free_bs() triggers if inline or kmalloc allocated bvec gets
  there.

* Relocate destructors on top of each allocation function so that how
  they're used is more clear.

Jens Axboe suggested allocating bvecs inline.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-04-22 08:35:10 +02:00
..
2009-04-07 10:23:34 +01:00
2009-03-18 19:45:11 -07:00
2009-03-31 09:56:26 +01:00
2009-03-05 14:39:32 -05:00
2009-04-05 02:14:15 -04:00
2009-04-06 20:00:51 -04:00
2009-02-12 09:40:14 +11:00
2009-04-01 08:59:23 -07:00
2009-04-01 08:59:23 -07:00
2009-04-22 08:35:10 +02:00
2009-04-07 08:59:11 +02:00
2009-04-03 14:53:32 -07:00
2009-03-27 14:43:59 -04:00
2009-03-01 00:19:35 -08:00
2009-04-03 14:53:32 -07:00
2009-02-10 00:41:26 +01:00
2009-03-16 08:32:27 -06:00
2009-02-18 15:37:56 -08:00
2009-03-24 12:35:17 +01:00
2009-03-30 15:14:53 +02:00
2009-04-03 09:48:29 -07:00
2009-04-08 14:13:03 +02:00
2009-04-02 19:04:53 -07:00
2009-02-11 15:27:15 +11:00
2009-02-02 21:40:58 +05:30
2009-04-13 15:04:29 -07:00
2009-04-16 16:17:10 -07:00
2009-04-21 13:41:48 -07:00
2009-04-21 13:41:48 -07:00
2009-04-02 19:04:49 -07:00
2009-04-06 16:06:26 +01:00
2009-04-01 08:59:17 -07:00
2009-04-07 08:12:38 +02:00
2009-04-02 19:04:48 -07:00
2009-03-26 10:56:35 -07:00
2009-03-20 10:48:14 -07:00
2009-03-15 19:59:13 -07:00
2009-04-03 17:41:23 -07:00
2009-04-01 13:28:15 -04:00
2009-04-03 17:41:12 -07:00
2009-03-10 20:33:18 -04:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:13 -07:00
2009-04-13 15:04:32 -07:00
2009-04-13 14:51:23 -07:00
2009-04-01 08:59:13 -07:00
2009-03-13 16:09:12 -07:00
2009-03-30 15:22:01 +02:00
2009-03-26 02:18:35 +01:00
2009-02-26 23:42:11 -08:00
2009-03-30 14:28:58 -07:00
2009-04-01 08:59:24 -07:00
2009-02-16 00:03:10 -08:00
2009-04-08 14:33:38 -07:00
2009-02-27 16:53:50 +09:00
2009-04-13 15:04:29 -07:00
2009-04-03 12:23:06 +02:00
2009-02-20 17:57:48 -08:00
2009-04-21 19:40:00 -07:00
2009-04-03 12:23:06 +02:00
2009-03-27 12:18:56 -04:00
2009-04-01 08:59:15 -07:00
2009-04-02 19:05:01 -07:00
2009-02-18 15:37:53 -08:00
2009-02-03 11:23:12 +11:00
2009-03-26 18:14:21 +01:00
2009-04-17 10:50:27 -07:00