On Fri, Jan 26, 2024 at 02:28:49PM +0100, Christoph Hellwig wrote: > +++ b/mm/shmem.c > @@ -2150,6 +2150,11 @@ static int shmem_get_folio_gfp(struct inode *inode, pgoff_t index, > * > * 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. > + * > + * If the caller modifies data in the returned folio, it must call > + * folio_mark_dirty() on the locked folio before dropping the reference to > + * ensure the folio is not reclaimed. Unlike for normal file systems there is > + * no need to reserve space for users of shmem_*file_setup(). This doesn't quite make sense to me. Do you mean: * 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. * There is no equivalent to write_begin/write_end for shmem. (also this should go before the Return: section; the return section should be the last thing in the kernel-doc)