Re: [RFC PATCH V2 1/9] include/linux/pagemap.h: introduce attach/clear_page_private

From: Guoqing Jiang
Date: Fri May 01 2020 - 02:39:36 EST


On 5/1/20 12:13 AM, Matthew Wilcox wrote:
On Thu, Apr 30, 2020 at 11:44:42PM +0200, Guoqing Jiang wrote:
+/**
+ * attach_page_private - attach data to page's private field and set PG_private.
+ * @page: page to be attached and set flag.
+ * @data: data to attach to page's private field.
+ *
+ * Need to take reference as mm.h said "Setting PG_private should also increment
+ * the refcount".
+ */
I don't think this will read well when added to the API documentation.
Try this:

/**
* attach_page_private - Attach private data to a page.
* @page: Page to attach data to.
* @data: Data to attach to page.
*
* Attaching private data to a page increments the page's reference count.
* The data must be detached before the page will be freed.
*/

+/**
+ * clear_page_private - clear page's private field and PG_private.
+ * @page: page to be cleared.
+ *
+ * The counterpart function of attach_page_private.
+ * Return: private data of page or NULL if page doesn't have private data.
+ */
Seems to me that the opposite of "attach" is "detach", not "clear".

/**
* detach_page_private - Detach private data from a page.
* @page: Page to detach data from.
*
* Removes the data that was previously attached to the page and decrements
* the refcount on the page.
*
* Return: Data that was attached to the page.
*/

Thanks you very much, Mattew! Will change them in next version.

Best Regards,
Guoqing