Browse Source

libnvdimm, btt: cache sector_size in arena_info

In preparation for the error clearing rework, add sector_size in the
arena_info struct.

Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Vishal Verma 8 years ago
parent
commit
7589200450
2 changed files with 3 additions and 0 deletions
  1. 1 0
      drivers/nvdimm/btt.c
  2. 2 0
      drivers/nvdimm/btt.h

+ 1 - 0
drivers/nvdimm/btt.c

@@ -566,6 +566,7 @@ static struct arena_info *alloc_arena(struct btt *btt, size_t size,
 	if (!arena)
 	if (!arena)
 		return NULL;
 		return NULL;
 	arena->nd_btt = btt->nd_btt;
 	arena->nd_btt = btt->nd_btt;
+	arena->sector_size = btt->sector_size;
 
 
 	if (!size)
 	if (!size)
 		return arena;
 		return arena;

+ 2 - 0
drivers/nvdimm/btt.h

@@ -108,6 +108,7 @@ struct aligned_lock {
  *			handle incoming writes.
  *			handle incoming writes.
  * @version_major:	Metadata layout version major.
  * @version_major:	Metadata layout version major.
  * @version_minor:	Metadata layout version minor.
  * @version_minor:	Metadata layout version minor.
+ * @sector_size:	The Linux sector size - 512 or 4096
  * @nextoff:		Offset in bytes to the start of the next arena.
  * @nextoff:		Offset in bytes to the start of the next arena.
  * @infooff:		Offset in bytes to the info block of this arena.
  * @infooff:		Offset in bytes to the info block of this arena.
  * @dataoff:		Offset in bytes to the data area of this arena.
  * @dataoff:		Offset in bytes to the data area of this arena.
@@ -135,6 +136,7 @@ struct arena_info {
 	u32 nfree;
 	u32 nfree;
 	u16 version_major;
 	u16 version_major;
 	u16 version_minor;
 	u16 version_minor;
+	u32 sector_size;
 	/* Byte offsets to the different on-media structures */
 	/* Byte offsets to the different on-media structures */
 	u64 nextoff;
 	u64 nextoff;
 	u64 infooff;
 	u64 infooff;