Re: [RFC PATCH 1/9] include/linux/pagemap.h: introduce set/clear_fs_page_private

From: Guoqing Jiang
Date: Mon Apr 27 2020 - 04:10:11 EST


Hi Christoph,

On 4/27/20 7:52 AM, Christoph Hellwig wrote:
Why not attach_page_private and clear_page_private as that conveys
the use case a little better?

Yes, thanks for the good suggestion. Will rename them if no one else
has new idea ...

+static inline void *set_fs_page_private(struct page *page, void *data)
+{
+ get_page(page);
+ set_page_private(page, (unsigned long)data);
+ SetPagePrivate(page);
+
+ return data;
+}
+
+static inline void *clear_fs_page_private(struct page *page)
+{
+ void *data = (void *)page_private(page);
+
+ if (!PagePrivate(page))
+ return NULL;
+ ClearPagePrivate(page);
+ set_page_private(page, 0);
+ put_page(page);
+
+ return data;
+}
Can you add kerneldoc comments describing them, including why we
take the refernces?

Ok, will do.

Also what is the point of the return value of set_fs_page_private?

In this way, iomap_page_create can just return the function, but you
don't like this way as you replied, will change the return value to "void".

Thanks,
Guoqing