summaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/locking.rst
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2022-05-01 13:35:31 +0200
committerMatthew Wilcox (Oracle) <willy@infradead.org>2022-05-10 05:12:52 +0200
commitd2329aa0c78f4a8dd368bb706f196ab99f692eaa (patch)
tree8dcdbf74ed2e54f05633b58585aa0bcb9027c046 /Documentation/filesystems/locking.rst
parentfs: Convert drop_buffers() to use a folio (diff)
downloadlinux-d2329aa0c78f4a8dd368bb706f196ab99f692eaa.tar.xz
linux-d2329aa0c78f4a8dd368bb706f196ab99f692eaa.zip
fs: Add free_folio address space operation
Include documentation and convert the callers to use ->free_folio as well as ->freepage. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Diffstat (limited to 'Documentation/filesystems/locking.rst')
-rw-r--r--Documentation/filesystems/locking.rst10
1 files changed, 5 insertions, 5 deletions
diff --git a/Documentation/filesystems/locking.rst b/Documentation/filesystems/locking.rst
index ddef4a753e73..515bc48ab58b 100644
--- a/Documentation/filesystems/locking.rst
+++ b/Documentation/filesystems/locking.rst
@@ -250,7 +250,7 @@ prototypes::
sector_t (*bmap)(struct address_space *, sector_t);
void (*invalidate_folio) (struct folio *, size_t start, size_t len);
bool (*release_folio)(struct folio *, gfp_t);
- void (*freepage)(struct page *);
+ void (*free_folio)(struct folio *);
int (*direct_IO)(struct kiocb *, struct iov_iter *iter);
bool (*isolate_page) (struct page *, isolate_mode_t);
int (*migratepage)(struct address_space *, struct page *, struct page *);
@@ -262,10 +262,10 @@ prototypes::
int (*swap_deactivate)(struct file *);
locking rules:
- All except dirty_folio and freepage may block
+ All except dirty_folio and free_folio may block
====================== ======================== ========= ===============
-ops PageLocked(page) i_rwsem invalidate_lock
+ops folio locked i_rwsem invalidate_lock
====================== ======================== ========= ===============
writepage: yes, unlocks (see below)
read_folio: yes, unlocks shared
@@ -277,7 +277,7 @@ write_end: yes, unlocks exclusive
bmap:
invalidate_folio: yes exclusive
release_folio: yes
-freepage: yes
+free_folio: yes
direct_IO:
isolate_page: yes
migratepage: yes (both)
@@ -377,7 +377,7 @@ buffers from the folio in preparation for freeing it. It returns false to
indicate that the buffers are (or may be) freeable. If ->release_folio is
NULL, the kernel assumes that the fs has no private interest in the buffers.
-->freepage() is called when the kernel is done dropping the page
+->free_folio() is called when the kernel has dropped the folio
from the page cache.
->launder_folio() may be called prior to releasing a folio if