Commit 9bc0c92e authored by Mikulas Patocka's avatar Mikulas Patocka Committed by Mike Snitzer
Browse files

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: default avatarMikulas Patocka <mpatocka@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
parent 949d49ec
Loading
Loading
Loading
Loading
+13 −13
Original line number Diff line number Diff line
@@ -1329,7 +1329,7 @@ enum wc_map_op {
	WC_MAP_ERROR,
};

static enum wc_map_op writecache_map_remap_origin(struct dm_writecache *wc, struct bio *bio,
static void writecache_map_remap_origin(struct dm_writecache *wc, struct bio *bio,
					struct wc_entry *e)
{
	if (e) {
@@ -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,13 +1364,14 @@ static enum wc_map_op writecache_map_read(struct dm_writecache *wc, struct bio *
			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,
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;
@@ -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 @@ static enum wc_map_op writecache_map_write(struct dm_writecache *wc, struct bio
		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))