Subject: [PATCH v2 06/20] block/xen-blkfront: Store a page rather a pfn in the grant structure

From: [email-masked] (Julien Grall)
Date: Thu, 23 Jul 2015 18:18:08 +0100

Hi Stefano,

On 16/07/15 16:11, Stefano Stabellini wrote:
> On Thu, 9 Jul 2015, Julien Grall wrote:
>> All the usage of the field pfn are done using the same idiom:
>>
>> pfn_to_page(grant->pfn)
>>
>> This will  return always the same page. Store directly the page in the
>> grant to clean up the code.
>>
>> Signed-off-by: Julien Grall <[email-masked]>
>> Cc: Konrad Rzeszutek Wilk <[email-masked]>
>> Cc: Roger Pau Monn? <[email-masked]>
>> Cc: Boris Ostrovsky <[email-masked]>
>> Cc: David Vrabel <[email-masked]>
>> ---
>>     Changes in v2:
>>         - Patch added
>> ---
>>  drivers/block/xen-blkfront.c | 37 ++++++++++++++++++-------------------
>>  1 file changed, 18 insertions(+), 19 deletions(-)
>>
>> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
>> index 7107d58..7b81d23 100644
>> --- a/drivers/block/xen-blkfront.c
>> +++ b/drivers/block/xen-blkfront.c
>> @@ -67,7 +67,7 @@ enum blkif_state {
>>  
>>  struct grant {
>>  	grant_ref_t gref;
>> -	unsigned long pfn;
>> +	struct page *page;
>>  	struct list_head node;
>>  };
>>  
>> @@ -219,7 +219,7 @@ static int fill_grant_buffer(struct blkfront_info *info, int num)
>>  				kfree(gnt_list_entry);
>>  				goto out_of_memory;
>>  			}
>> -			gnt_list_entry->pfn = page_to_pfn(granted_page);
>> +			gnt_list_entry->page = granted_page;
>>  		}
>>  
>>  		gnt_list_entry->gref = GRANT_INVALID_REF;
>> @@ -234,7 +234,7 @@ out_of_memory:
>>  	                         &info->grants, node) {
>>  		list_del(&gnt_list_entry->node);
>>  		if (info->feature_persistent)
>> -			__free_page(pfn_to_page(gnt_list_entry->pfn));
>> +			__free_page(gnt_list_entry->page);
>>  		kfree(gnt_list_entry);
>>  		i--;
>>  	}
>> @@ -243,7 +243,7 @@ out_of_memory:
>>  }
>>  
>>  static struct grant *get_grant(grant_ref_t *gref_head,
>> -                               unsigned long pfn,
>> +			       struct page *page,
>>                                 struct blkfront_info *info)
> 
> indentation

The indentation of the parameters wasn't valid. I will indent correctly
"struct blkfront_info *info" rather than to use invalid indent.

> Aside from this:
> 
> Reviewed-by: Stefano Stabellini <[email-masked]>

Thank you,

Regards,

-- 
Julien Grall