diff options
Diffstat (limited to 'drivers/md/dm-io.c')
| -rw-r--r-- | drivers/md/dm-io.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/md/dm-io.c b/drivers/md/dm-io.c index 45754bb6a799..9de000131a8a 100644 --- a/drivers/md/dm-io.c +++ b/drivers/md/dm-io.c | |||
| @@ -239,6 +239,11 @@ static void vm_dp_init(struct dpages *dp, void *data) | |||
| 239 | dp->context_ptr = data; | 239 | dp->context_ptr = data; |
| 240 | } | 240 | } |
| 241 | 241 | ||
| 242 | static void dm_bio_destructor(struct bio *bio) | ||
| 243 | { | ||
| 244 | bio_free(bio, _bios); | ||
| 245 | } | ||
| 246 | |||
| 242 | /*----------------------------------------------------------------- | 247 | /*----------------------------------------------------------------- |
| 243 | * IO routines that accept a list of pages. | 248 | * IO routines that accept a list of pages. |
| 244 | *---------------------------------------------------------------*/ | 249 | *---------------------------------------------------------------*/ |
| @@ -263,6 +268,7 @@ static void do_region(int rw, unsigned int region, struct io_region *where, | |||
| 263 | bio->bi_bdev = where->bdev; | 268 | bio->bi_bdev = where->bdev; |
| 264 | bio->bi_end_io = endio; | 269 | bio->bi_end_io = endio; |
| 265 | bio->bi_private = io; | 270 | bio->bi_private = io; |
| 271 | bio->bi_destructor = dm_bio_destructor; | ||
| 266 | bio_set_region(bio, region); | 272 | bio_set_region(bio, region); |
| 267 | 273 | ||
| 268 | /* | 274 | /* |
