diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2024-05-30 21:20:56 +0100 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2024-05-31 12:31:39 +0200 |
commit | 09da047e554d46885c5ab038373473c19ff2fd12 (patch) | |
tree | bb7be5fb28fec3c615098bac923f17b5066950ac | |
parent | def27a20542044b9322d65ffc206722c159f7c7d (diff) |
efs: Convert efs_symlink_read_folio to use a folio
Remove the conversion back into a page and use the folio APIs throughout.
Remove the setting of PG_error instead of converting it; it is unused
by core code or by the rest of EFS, so it serves no purpose here.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Link: https://lore.kernel.org/r/20240530202110.2653630-5-willy@infradead.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r-- | fs/efs/symlink.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/fs/efs/symlink.c b/fs/efs/symlink.c index 3b03a573cb1a..7749feded722 100644 --- a/fs/efs/symlink.c +++ b/fs/efs/symlink.c @@ -14,10 +14,9 @@ static int efs_symlink_read_folio(struct file *file, struct folio *folio) { - struct page *page = &folio->page; - char *link = page_address(page); - struct buffer_head * bh; - struct inode * inode = page->mapping->host; + char *link = folio_address(folio); + struct buffer_head *bh; + struct inode *inode = folio->mapping->host; efs_block_t size = inode->i_size; int err; @@ -40,12 +39,9 @@ static int efs_symlink_read_folio(struct file *file, struct folio *folio) brelse(bh); } link[size] = '\0'; - SetPageUptodate(page); - unlock_page(page); - return 0; + err = 0; fail: - SetPageError(page); - unlock_page(page); + folio_end_read(folio, err == 0); return err; } |