diff options
author | Vishal Verma <vishal.l.verma@intel.com> | 2017-08-31 04:35:59 +0300 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2017-09-01 01:05:10 +0300 |
commit | 0595d539a5deb4f495618ebbed96db59ae635e32 (patch) | |
tree | 0c5930eff3470fc56261075a15da25e56af3688b /drivers/nvdimm/btt.c | |
parent | 1db1f3cea1d8886c686832d4618b346ae16c03c8 (diff) | |
download | linux-0595d539a5deb4f495618ebbed96db59ae635e32.tar.xz |
libnvdimm, btt: refactor map entry operations with macros
Add helpers for converting a raw map entry to just the block number, or
either of the 'e' or 'z' flags in preparation for actually using the
error flag to mark blocks with media errors.
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/nvdimm/btt.c')
-rw-r--r-- | drivers/nvdimm/btt.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c index a5e4134e1ed0..bb816bc1a906 100644 --- a/drivers/nvdimm/btt.c +++ b/drivers/nvdimm/btt.c @@ -106,7 +106,7 @@ static int btt_map_write(struct arena_info *arena, u32 lba, u32 mapping, * This 'mapping' is supposed to be just the LBA mapping, without * any flags set, so strip the flag bits. */ - mapping &= MAP_LBA_MASK; + mapping = ent_lba(mapping); ze = (z_flag << 1) + e_flag; switch (ze) { @@ -155,10 +155,10 @@ static int btt_map_read(struct arena_info *arena, u32 lba, u32 *mapping, raw_mapping = le32_to_cpu(in); - z_flag = (raw_mapping & MAP_TRIM_MASK) >> MAP_TRIM_SHIFT; - e_flag = (raw_mapping & MAP_ERR_MASK) >> MAP_ERR_SHIFT; + z_flag = ent_z_flag(raw_mapping); + e_flag = ent_e_flag(raw_mapping); ze = (z_flag << 1) + e_flag; - postmap = raw_mapping & MAP_LBA_MASK; + postmap = ent_lba(raw_mapping); /* Reuse the {z,e}_flag variables for *trim and *error */ z_flag = 0; |