mm/page_io: use a folio in swap_writepage_bdev_sync()
authorZhangPeng <zhangpeng362@huawei.com>
Fri, 21 Jul 2023 03:44:48 +0000 (11:44 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 18 Aug 2023 17:12:46 +0000 (10:12 -0700)
Saves one implicit call to compound_head().

Link: https://lkml.kernel.org/r/20230721034451.16412-8-zhangpeng362@huawei.com
Signed-off-by: ZhangPeng <zhangpeng362@huawei.com>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: Nanyong Sun <sunnanyong@huawei.com>
Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/page_io.c

index 979d9ce..fc6e1a4 100644 (file)
@@ -331,6 +331,7 @@ static void swap_writepage_bdev_sync(struct page *page,
 {
        struct bio_vec bv;
        struct bio bio;
+       struct folio *folio = page_folio(page);
 
        bio_init(&bio, sis->bdev, &bv, 1,
                 REQ_OP_WRITE | REQ_SWAP | wbc_to_write_flags(wbc));
@@ -340,8 +341,8 @@ static void swap_writepage_bdev_sync(struct page *page,
        bio_associate_blkg_from_page(&bio, page);
        count_swpout_vm_event(page);
 
-       set_page_writeback(page);
-       unlock_page(page);
+       folio_start_writeback(folio);
+       folio_unlock(folio);
 
        submit_bio_wait(&bio);
        __end_swap_bio_write(&bio);