Re: [PATCH v2 06/10] mm/swap: use npage_to_sectors() and PAGE_SECTORS to clean up code

From: Leizhen (ThunderTown)
Date: Fri May 15 2020 - 02:42:53 EST




On 2020/5/15 12:14, Matthew Wilcox wrote:
> On Thu, May 07, 2020 at 03:50:56PM +0800, Zhen Lei wrote:
>> +++ b/mm/page_io.c
>> @@ -38,7 +38,7 @@ static struct bio *get_swap_bio(gfp_t gfp_flags,
>>
>> bio->bi_iter.bi_sector = map_swap_page(page, &bdev);
>> bio_set_dev(bio, bdev);
>> - bio->bi_iter.bi_sector <<= PAGE_SHIFT - 9;
>> + bio->bi_iter.bi_sector *= PAGE_SECTORS;
>> bio->bi_end_io = end_io;
>
> This just doesn't look right. Why is map_swap_page() returning a sector_t
> which isn't actually a sector_t?

I try to understand map_swap_page(). Here maybe a bug. Otherwise, it would be
better to add a temporary variable to cache the return value of map_swap_page(page, &bdev).

>
>
> .
>