[PATCH 07/20] shmem: document how to "persist" data when using shmem_*file_setup

Christoph Hellwig
2024-01-29T14:35:32Z

Add a blurb that simply dirtying the folio will persist data for in-kernel
shmem files. This is what most of the callers already do.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
---
mm/shmem.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/mm/shmem.c b/mm/shmem.c
index e89fb5eccb0c0a..f73dead491b11d 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2148,6 +2148,10 @@ static int shmem_get_folio_gfp(struct inode *inode, pgoff_t index,
*
* If this function returns a folio, it is returned with an increased refcount.
*
+ * If the caller modifies data in the folio, it must call folio_mark_dirty()
+ * before unlocking the folio to ensure that the folio is not reclaimed.
+ * These is no need to reserve space before calling folio_mark_dirty().
+ *
* Return: The found folio, %NULL if SGP_READ or SGP_NOALLOC was passed in @sgp
* and no folio was found at @index, or an ERR_PTR() otherwise.
*/
--
2.39.2