aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/dm.c')
-rw-r--r--drivers/md/dm.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 2717a355dc5b..b5e56af8f85a 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -45,7 +45,7 @@ struct dm_io {
45 * One of these is allocated per target within a bio. Hopefully 45 * One of these is allocated per target within a bio. Hopefully
46 * this will be simplified out one day. 46 * this will be simplified out one day.
47 */ 47 */
48struct target_io { 48struct dm_target_io {
49 struct dm_io *io; 49 struct dm_io *io;
50 struct dm_target *ti; 50 struct dm_target *ti;
51 union map_info info; 51 union map_info info;
@@ -54,7 +54,7 @@ struct target_io {
54union map_info *dm_get_mapinfo(struct bio *bio) 54union map_info *dm_get_mapinfo(struct bio *bio)
55{ 55{
56 if (bio && bio->bi_private) 56 if (bio && bio->bi_private)
57 return &((struct target_io *)bio->bi_private)->info; 57 return &((struct dm_target_io *)bio->bi_private)->info;
58 return NULL; 58 return NULL;
59} 59}
60 60
@@ -132,14 +132,12 @@ static int __init local_init(void)
132 int r; 132 int r;
133 133
134 /* allocate a slab for the dm_ios */ 134 /* allocate a slab for the dm_ios */
135 _io_cache = kmem_cache_create("dm_io", 135 _io_cache = KMEM_CACHE(dm_io, 0);
136 sizeof(struct dm_io), 0, 0, NULL, NULL);
137 if (!_io_cache) 136 if (!_io_cache)
138 return -ENOMEM; 137 return -ENOMEM;
139 138
140 /* allocate a slab for the target ios */ 139 /* allocate a slab for the target ios */
141 _tio_cache = kmem_cache_create("dm_tio", sizeof(struct target_io), 140 _tio_cache = KMEM_CACHE(dm_target_io, 0);
142 0, 0, NULL, NULL);
143 if (!_tio_cache) { 141 if (!_tio_cache) {
144 kmem_cache_destroy(_io_cache); 142 kmem_cache_destroy(_io_cache);
145 return -ENOMEM; 143 return -ENOMEM;
@@ -325,22 +323,22 @@ out:
325 return r; 323 return r;
326} 324}
327 325
328static inline struct dm_io *alloc_io(struct mapped_device *md) 326static struct dm_io *alloc_io(struct mapped_device *md)
329{ 327{
330 return mempool_alloc(md->io_pool, GFP_NOIO); 328 return mempool_alloc(md->io_pool, GFP_NOIO);
331} 329}
332 330
333static inline void free_io(struct mapped_device *md, struct dm_io *io) 331static void free_io(struct mapped_device *md, struct dm_io *io)
334{ 332{
335 mempool_free(io, md->io_pool); 333 mempool_free(io, md->io_pool);
336} 334}
337 335
338static inline struct target_io *alloc_tio(struct mapped_device *md) 336static struct dm_target_io *alloc_tio(struct mapped_device *md)
339{ 337{
340 return mempool_alloc(md->tio_pool, GFP_NOIO); 338 return mempool_alloc(md->tio_pool, GFP_NOIO);
341} 339}
342 340
343static inline void free_tio(struct mapped_device *md, struct target_io *tio) 341static void free_tio(struct mapped_device *md, struct dm_target_io *tio)
344{ 342{
345 mempool_free(tio, md->tio_pool); 343 mempool_free(tio, md->tio_pool);
346} 344}
@@ -498,7 +496,7 @@ static void dec_pending(struct dm_io *io, int error)
498static int clone_endio(struct bio *bio, unsigned int done, int error) 496static int clone_endio(struct bio *bio, unsigned int done, int error)
499{ 497{
500 int r = 0; 498 int r = 0;
501 struct target_io *tio = bio->bi_private; 499 struct dm_target_io *tio = bio->bi_private;
502 struct mapped_device *md = tio->io->md; 500 struct mapped_device *md = tio->io->md;
503 dm_endio_fn endio = tio->ti->type->end_io; 501 dm_endio_fn endio = tio->ti->type->end_io;
504 502
@@ -558,7 +556,7 @@ static sector_t max_io_len(struct mapped_device *md,
558} 556}
559 557
560static void __map_bio(struct dm_target *ti, struct bio *clone, 558static void __map_bio(struct dm_target *ti, struct bio *clone,
561 struct target_io *tio) 559 struct dm_target_io *tio)
562{ 560{
563 int r; 561 int r;
564 sector_t sector; 562 sector_t sector;
@@ -672,7 +670,7 @@ static void __clone_and_map(struct clone_info *ci)
672 struct bio *clone, *bio = ci->bio; 670 struct bio *clone, *bio = ci->bio;
673 struct dm_target *ti = dm_table_find_target(ci->map, ci->sector); 671 struct dm_target *ti = dm_table_find_target(ci->map, ci->sector);
674 sector_t len = 0, max = max_io_len(ci->md, ci->sector, ti); 672 sector_t len = 0, max = max_io_len(ci->md, ci->sector, ti);
675 struct target_io *tio; 673 struct dm_target_io *tio;
676 674
677 /* 675 /*
678 * Allocate a target io object. 676 * Allocate a target io object.