Re: [RFC PATCH 6/9] iomap: use set/clear_fs_page_private

From: Guoqing Jiang
Date: Mon Apr 27 2020 - 04:15:20 EST


On 4/27/20 7:55 AM, Christoph Hellwig wrote:
On Sun, Apr 26, 2020 at 05:26:31PM -0700, Matthew Wilcox wrote:
On Sun, Apr 26, 2020 at 11:49:22PM +0200, Guoqing Jiang wrote:
@@ -59,24 +59,18 @@ iomap_page_create(struct inode *inode, struct page *page)
* migrate_page_move_mapping() assumes that pages with private data have
* their count elevated by 1.
*/
- get_page(page);
- set_page_private(page, (unsigned long)iop);
- SetPagePrivate(page);
- return iop;
+ return (struct iomap_page *)set_fs_page_private(page, iop);
}
This cast is unnecessary. void * will be automatically cast to the
appropriate pointer type.
I also find the pattern eather strange. A:

attach_page_private(page, iop);
return iop;

explains the intent much better.

Thanks for the review, will do it.

Thanks,
Guoqing