From 45736a5e9f51671a3b04fc123b9aff4126be5f77 Mon Sep 17 00:00:00 2001 From: "S.J.R. van Schaik" Date: Mon, 29 May 2017 18:58:10 +0200 Subject: [PATCH] ftl: simplify calculations in ftl_read()/ftl_write() and remove an out-dated check --- source/ftl/ftl.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/source/ftl/ftl.c b/source/ftl/ftl.c index 637bbaf..0eced3c 100644 --- a/source/ftl/ftl.c +++ b/source/ftl/ftl.c @@ -28,8 +28,7 @@ size_t ftl_read(struct ftl_map *map, void *data, size_t len, uint32_t va) if (!data) return 0; - mask = ((1 << map->log2_page_size) - 1); - offset = va & mask; + offset = va & ((1 << map->log2_page_size) - 1); va >>= map->log2_page_size; len = min(len, (1 << map->log2_page_size) - offset); @@ -48,14 +47,12 @@ size_t ftl_write(struct ftl_map *map, uint32_t va, const void *udata, char data[1 << map->log2_page_size]; struct ftl_page_desc page_desc; int ret; - uint32_t mask, offset, page; + uint32_t offset, page; - if (va >= ftl_get_capacity(map) && - !is_aligned(va, 1 << map->log2_page_size)) + if (va >= ftl_get_capacity(map)) return 0; - mask = ((1 << map->log2_page_size) - 1); - offset = va & mask; + offset = va & ((1 << map->log2_page_size) - 1); va >>= map->log2_page_size; if ((ret = trace_path(map, &page_desc, &page, va)) < 0 &&