mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 14:50:19 +00:00
dm writecache: return void from functions
The functions writecache_map_remap_origin and writecache_bio_copy_ssd only return a single value, thus they can be made to return void. This helps simplify the following IO accounting changes. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@kernel.org>
This commit is contained in:
parent
949d49ec30
commit
9bc0c92e4b
@ -1329,8 +1329,8 @@ enum wc_map_op {
|
||||
WC_MAP_ERROR,
|
||||
};
|
||||
|
||||
static enum wc_map_op writecache_map_remap_origin(struct dm_writecache *wc, struct bio *bio,
|
||||
struct wc_entry *e)
|
||||
static void writecache_map_remap_origin(struct dm_writecache *wc, struct bio *bio,
|
||||
struct wc_entry *e)
|
||||
{
|
||||
if (e) {
|
||||
sector_t next_boundary =
|
||||
@ -1338,8 +1338,6 @@ static enum wc_map_op writecache_map_remap_origin(struct dm_writecache *wc, stru
|
||||
if (next_boundary < bio->bi_iter.bi_size >> SECTOR_SHIFT)
|
||||
dm_accept_partial_bio(bio, next_boundary);
|
||||
}
|
||||
|
||||
return WC_MAP_REMAP_ORIGIN;
|
||||
}
|
||||
|
||||
static enum wc_map_op writecache_map_read(struct dm_writecache *wc, struct bio *bio)
|
||||
@ -1366,14 +1364,15 @@ read_next_block:
|
||||
map_op = WC_MAP_REMAP;
|
||||
}
|
||||
} else {
|
||||
map_op = writecache_map_remap_origin(wc, bio, e);
|
||||
writecache_map_remap_origin(wc, bio, e);
|
||||
map_op = WC_MAP_REMAP_ORIGIN;
|
||||
}
|
||||
|
||||
return map_op;
|
||||
}
|
||||
|
||||
static enum wc_map_op writecache_bio_copy_ssd(struct dm_writecache *wc, struct bio *bio,
|
||||
struct wc_entry *e, bool search_used)
|
||||
static void writecache_bio_copy_ssd(struct dm_writecache *wc, struct bio *bio,
|
||||
struct wc_entry *e, bool search_used)
|
||||
{
|
||||
unsigned bio_size = wc->block_size;
|
||||
sector_t start_cache_sec = cache_sector(wc, e);
|
||||
@ -1419,8 +1418,6 @@ static enum wc_map_op writecache_bio_copy_ssd(struct dm_writecache *wc, struct b
|
||||
} else {
|
||||
writecache_schedule_autocommit(wc);
|
||||
}
|
||||
|
||||
return WC_MAP_REMAP;
|
||||
}
|
||||
|
||||
static enum wc_map_op writecache_map_write(struct dm_writecache *wc, struct bio *bio)
|
||||
@ -1458,7 +1455,8 @@ static enum wc_map_op writecache_map_write(struct dm_writecache *wc, struct bio
|
||||
direct_write:
|
||||
wc->stats.writes_around++;
|
||||
e = writecache_find_entry(wc, bio->bi_iter.bi_sector, WFE_RETURN_FOLLOWING);
|
||||
return writecache_map_remap_origin(wc, bio, e);
|
||||
writecache_map_remap_origin(wc, bio, e);
|
||||
return WC_MAP_REMAP_ORIGIN;
|
||||
}
|
||||
wc->stats.writes_blocked_on_freelist++;
|
||||
writecache_wait_on_freelist(wc);
|
||||
@ -1469,10 +1467,12 @@ direct_write:
|
||||
wc->uncommitted_blocks++;
|
||||
wc->stats.writes_allocate++;
|
||||
bio_copy:
|
||||
if (WC_MODE_PMEM(wc))
|
||||
if (WC_MODE_PMEM(wc)) {
|
||||
bio_copy_block(wc, bio, memory_data(wc, e));
|
||||
else
|
||||
return writecache_bio_copy_ssd(wc, bio, e, search_used);
|
||||
} else {
|
||||
writecache_bio_copy_ssd(wc, bio, e, search_used);
|
||||
return WC_MAP_REMAP;
|
||||
}
|
||||
} while (bio->bi_iter.bi_size);
|
||||
|
||||
if (unlikely(bio->bi_opf & REQ_FUA || wc->uncommitted_blocks >= wc->autocommit_blocks))
|
||||
|
Loading…
x
Reference in New Issue
Block a user