lightnvm: pblk: add helpers for OOB metadata
pblk currently assumes that size of OOB metadata on drive is always equal to size of pblk_sec_meta struct. This commit add helpers which will allow to handle different sizes of OOB metadata on drive in the future. After this patch only OOB metadata equal to 16 bytes is supported. Reviewed-by: Javier González <javier@cnexlabs.com> Signed-off-by: Igor Konopko <igor.j.konopko@intel.com> Signed-off-by: Matias Bjørling <mb@lightnvm.io> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
@@ -634,6 +634,7 @@ struct pblk {
|
||||
|
||||
int min_write_pgs; /* Minimum amount of pages required by controller */
|
||||
int max_write_pgs; /* Maximum amount of pages supported by controller */
|
||||
int oob_meta_size; /* Size of OOB sector metadata */
|
||||
|
||||
sector_t capacity; /* Device capacity when bad blocks are subtracted */
|
||||
|
||||
@@ -1380,6 +1381,11 @@ static inline unsigned int pblk_get_min_chks(struct pblk *pblk)
|
||||
*/
|
||||
|
||||
return DIV_ROUND_UP(100, pblk->op) * lm->blk_per_line;
|
||||
}
|
||||
|
||||
static inline struct pblk_sec_meta *pblk_get_meta(struct pblk *pblk,
|
||||
void *meta, int index)
|
||||
{
|
||||
return meta + pblk->oob_meta_size * index;
|
||||
}
|
||||
#endif /* PBLK_H_ */
|
||||
|
Reference in New Issue
Block a user