Why not attach_page_private and clear_page_private as that conveys
the use case a little better?
+static inline void *set_fs_page_private(struct page *page, void *data)Can you add kerneldoc comments describing them, including why we
+{
+ 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;
+}
take the refernces?
Also what is the point of the return value of set_fs_page_private?