[PATCH RFC v3 for-6.8/block 04/17] mtd: block2mtd: use bdev apis
Yu Kuai
yukuai1 at huaweicloud.com
Thu Jan 4 04:22:34 PST 2024
Hi,
在 2024/01/04 19:28, Jan Kara 写道:
> On Thu 21-12-23 16:56:59, Yu Kuai wrote:
>> From: Yu Kuai <yukuai3 at huawei.com>
>>
>> On the one hand covert to use folio while reading bdev inode, on the
>> other hand prevent to access bd_inode directly.
>>
>> Signed-off-by: Yu Kuai <yukuai3 at huawei.com>
> ...
>> + for (p = folio_address(folio); p < max; p++)
>> if (*p != -1UL) {
>> - lock_page(page);
>> - memset(page_address(page), 0xff, PAGE_SIZE);
>> - set_page_dirty(page);
>> - unlock_page(page);
>> - balance_dirty_pages_ratelimited(mapping);
>> + folio_lock(folio);
>> + memset(folio_address(folio), 0xff,
>> + folio_size(folio));
>> + folio_mark_dirty(folio);
>> + folio_unlock(folio);
>> + bdev_balance_dirty_pages_ratelimited(bdev);
>
> Rather then creating this bdev_balance_dirty_pages_ratelimited() just for
> MTD perhaps we can have here (and in other functions):
>
> ...
> mapping = folio_mapping(folio);
> folio_unlock(folio);
> if (mapping)
> balance_dirty_pages_ratelimited(mapping);
>
> What do you think? Because when we are working with the folios it is rather
> natural to use their mapping for dirty balancing?
I think this is a great idea! And bdev_balance_dirty_pages_ratelimited()
can be removed as well.
Thanks,
Kuai
>
> Honza
>
More information about the linux-mtd
mailing list