[PATCH 12/15] lightnvn: pblk: use generic address format

Javier González jg at lightnvm.io
Thu Mar 1 03:05:24 PST 2018


> On 1 Mar 2018, at 11.41, Matias Bjørling <mb at lightnvm.io> wrote:
> 
> On 02/28/2018 04:49 PM, Javier González wrote:
>> Use the generic address format on common address manipulations.
>> Signed-off-by: Javier González <javier at cnexlabs.com>
>> ---
>>  drivers/lightnvm/pblk-core.c  | 10 +++++-----
>>  drivers/lightnvm/pblk-map.c   |  4 ++--
>>  drivers/lightnvm/pblk-sysfs.c |  4 ++--
>>  drivers/lightnvm/pblk.h       |  4 ++--
>>  4 files changed, 11 insertions(+), 11 deletions(-)
>> diff --git a/drivers/lightnvm/pblk-core.c b/drivers/lightnvm/pblk-core.c
>> index 7d0bd33f11d9..2e10b18b61e3 100644
>> --- a/drivers/lightnvm/pblk-core.c
>> +++ b/drivers/lightnvm/pblk-core.c
>> @@ -885,7 +885,7 @@ int pblk_line_erase(struct pblk *pblk, struct pblk_line *line)
>>  		}
>>    		ppa = pblk->luns[bit].bppa; /* set ch and lun */
>> -		ppa.g.blk = line->id;
>> +		ppa.a.blk = line->id;
>>    		atomic_dec(&line->left_eblks);
>>  		WARN_ON(test_and_set_bit(bit, line->erase_bitmap));
>> @@ -1686,8 +1686,8 @@ static void __pblk_down_page(struct pblk *pblk, struct ppa_addr *ppa_list,
>>  	int i;
>>    	for (i = 1; i < nr_ppas; i++)
>> -		WARN_ON(ppa_list[0].g.lun != ppa_list[i].g.lun ||
>> -				ppa_list[0].g.ch != ppa_list[i].g.ch);
>> +		WARN_ON(ppa_list[0].a.lun != ppa_list[i].a.lun ||
>> +				ppa_list[0].a.ch != ppa_list[i].a.ch);
>>  #endif
>>    	ret = down_timeout(&rlun->wr_sem, msecs_to_jiffies(30000));
>> @@ -1731,8 +1731,8 @@ void pblk_up_page(struct pblk *pblk, struct ppa_addr *ppa_list, int nr_ppas)
>>  	int i;
>>    	for (i = 1; i < nr_ppas; i++)
>> -		WARN_ON(ppa_list[0].g.lun != ppa_list[i].g.lun ||
>> -				ppa_list[0].g.ch != ppa_list[i].g.ch);
>> +		WARN_ON(ppa_list[0].a.lun != ppa_list[i].a.lun ||
>> +				ppa_list[0].a.ch != ppa_list[i].a.ch);
>>  #endif
>>    	rlun = &pblk->luns[pos];
>> diff --git a/drivers/lightnvm/pblk-map.c b/drivers/lightnvm/pblk-map.c
>> index 04e08d76ea5f..20dbaa89c9df 100644
>> --- a/drivers/lightnvm/pblk-map.c
>> +++ b/drivers/lightnvm/pblk-map.c
>> @@ -127,7 +127,7 @@ void pblk_map_erase_rq(struct pblk *pblk, struct nvm_rq *rqd,
>>  			atomic_dec(&e_line->left_eblks);
>>    			*erase_ppa = rqd->ppa_list[i];
>> -			erase_ppa->g.blk = e_line->id;
>> +			erase_ppa->a.blk = e_line->id;
>>    			spin_unlock(&e_line->lock);
>>  @@ -168,6 +168,6 @@ void pblk_map_erase_rq(struct pblk *pblk, struct nvm_rq *rqd,
>>  		set_bit(bit, e_line->erase_bitmap);
>>  		atomic_dec(&e_line->left_eblks);
>>  		*erase_ppa = pblk->luns[bit].bppa; /* set ch and lun */
>> -		erase_ppa->g.blk = e_line->id;
>> +		erase_ppa->a.blk = e_line->id;
>>  	}
>>  }
>> diff --git a/drivers/lightnvm/pblk-sysfs.c b/drivers/lightnvm/pblk-sysfs.c
>> index cbb5b6edb7bf..a643dc623731 100644
>> --- a/drivers/lightnvm/pblk-sysfs.c
>> +++ b/drivers/lightnvm/pblk-sysfs.c
>> @@ -39,8 +39,8 @@ static ssize_t pblk_sysfs_luns_show(struct pblk *pblk, char *page)
>>  		sz += snprintf(page + sz, PAGE_SIZE - sz,
>>  				"pblk: pos:%d, ch:%d, lun:%d - %d\n",
>>  					i,
>> -					rlun->bppa.g.ch,
>> -					rlun->bppa.g.lun,
>> +					rlun->bppa.a.ch,
>> +					rlun->bppa.a.lun,
>>  					active);
>>  	}
>>  diff --git a/drivers/lightnvm/pblk.h b/drivers/lightnvm/pblk.h
>> index dd0089fe62b9..6ac64d9eb57e 100644
>> --- a/drivers/lightnvm/pblk.h
>> +++ b/drivers/lightnvm/pblk.h
>> @@ -936,12 +936,12 @@ static inline int pblk_pad_distance(struct pblk *pblk)
>>    static inline int pblk_ppa_to_line(struct ppa_addr p)
>>  {
>> -	return p.g.blk;
>> +	return p.a.blk;
>>  }
>>    static inline int pblk_ppa_to_pos(struct nvm_geo *geo, struct ppa_addr p)
>>  {
>> -	return p.g.lun * geo->num_ch + p.g.ch;
>> +	return p.a.lun * geo->num_ch + p.a.ch;
>>  }
>>    static inline struct ppa_addr addr_to_gen_ppa(struct pblk *pblk, u64 paddr,
> 
> Would it make sense to merge this with 7/15?

Sure. I've tried to decouple pblk and lightnvm core patches, but they
can go together. I'll merge in V5.

Javier
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20180301/46cff5dd/attachment-0001.sig>


More information about the Linux-nvme mailing list