[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d3e9bebf-1fea-1497-6dd2-9354f9ca0d4b@huawei.com>
Date: Fri, 15 May 2020 14:52:26 +0800
From: "Leizhen (ThunderTown)" <thunder.leizhen@...wei.com>
To: Matthew Wilcox <willy@...radead.org>
CC: Minchan Kim <minchan@...nel.org>, Nitin Gupta <ngupta@...are.org>,
"Sergey Senozhatsky" <sergey.senozhatsky.work@...il.com>,
Jens Axboe <axboe@...nel.dk>, Coly Li <colyli@...e.de>,
Kent Overstreet <kent.overstreet@...il.com>,
Alasdair Kergon <agk@...hat.com>,
Mike Snitzer <snitzer@...hat.com>,
linux-block <linux-block@...r.kernel.org>,
"Andrew Morton" <akpm@...ux-foundation.org>,
linux-mm <linux-mm@...ck.org>, dm-devel <dm-devel@...hat.com>,
Song Liu <song@...nel.org>,
linux-raid <linux-raid@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 07/10] block: use sectors_to_npage() and PAGE_SECTORS
to clean up code
On 2020/5/15 12:19, Matthew Wilcox wrote:
> On Thu, May 07, 2020 at 03:50:57PM +0800, Zhen Lei wrote:
>> +++ b/block/blk-settings.c
>> @@ -150,7 +150,7 @@ void blk_queue_max_hw_sectors(struct request_queue *q, unsigned int max_hw_secto
>> unsigned int max_sectors;
>>
>> if ((max_hw_sectors << 9) < PAGE_SIZE) {
>> - max_hw_sectors = 1 << (PAGE_SHIFT - 9);
>> + max_hw_sectors = PAGE_SECTORS;
>
> Surely this should be:
>
> if (max_hw_sectors < PAGE_SECTORS) {
> max_hw_sectors = PAGE_SECTORS;
>
> ... no?
I've noticed this place before. "(max_hw_sectors << 9) < PAGE_SIZE" can also make sure
that max_hw_sectors is not too large, that means (max_hw_sectors << 9) may overflow.
>
>> - page = read_mapping_page(mapping,
>> - (pgoff_t)(n >> (PAGE_SHIFT - 9)), NULL);
>> + page = read_mapping_page(mapping, (pgoff_t)sectors_to_npage(n), NULL);
>
> ... again, get the type right, and you won't need the cast.
OK, I'll consider it.
>
>
> .
>
Powered by blists - more mailing lists