diff options
author | Joe Thornber <ejt@redhat.com> | 2013-08-09 12:59:30 +0100 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2013-08-23 09:02:14 -0400 |
commit | 04f17c802f447e76d13ade5bb78fbbf34baef0f8 (patch) | |
tree | 4bca7fac638c13e0659824e566dbd8df58f148dc /drivers/md/persistent-data/dm-block-manager.c | |
parent | cd5acf0b445030cd8b5bfd818f464997652485e5 (diff) |
dm btree: prefetch child nodes when walking tree for a dm_btree_del
dm-btree now takes advantage of dm-bufio's ability to prefetch data via
dm_bm_prefetch(). Prior to this change many btree node visits were
causing a synchronous read.
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md/persistent-data/dm-block-manager.c')
-rw-r--r-- | drivers/md/persistent-data/dm-block-manager.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/md/persistent-data/dm-block-manager.c b/drivers/md/persistent-data/dm-block-manager.c index 81b513890e2b..a7e8bf296388 100644 --- a/drivers/md/persistent-data/dm-block-manager.c +++ b/drivers/md/persistent-data/dm-block-manager.c @@ -615,6 +615,11 @@ int dm_bm_flush_and_unlock(struct dm_block_manager *bm, } EXPORT_SYMBOL_GPL(dm_bm_flush_and_unlock); +void dm_bm_prefetch(struct dm_block_manager *bm, dm_block_t b) +{ + dm_bufio_prefetch(bm->bufio, b, 1); +} + void dm_bm_set_read_only(struct dm_block_manager *bm) { bm->read_only = true; |