Skip to content

Commit d257d92

Browse files
Matthew Wilcox (Oracle)jankara
authored andcommitted
udf: Convert udf_adinicb_readpage() to udf_adinicb_read_folio()
Now that all three callers have a folio, convert this function to take a folio, and use the folio APIs. Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
1 parent db67540 commit d257d92

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

fs/udf/inode.c

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -208,27 +208,22 @@ static int udf_writepages(struct address_space *mapping,
208208
return write_cache_pages(mapping, wbc, udf_adinicb_writepage, NULL);
209209
}
210210

211-
static void udf_adinicb_readpage(struct page *page)
211+
static void udf_adinicb_read_folio(struct folio *folio)
212212
{
213-
struct inode *inode = page->mapping->host;
214-
char *kaddr;
213+
struct inode *inode = folio->mapping->host;
215214
struct udf_inode_info *iinfo = UDF_I(inode);
216215
loff_t isize = i_size_read(inode);
217216

218-
kaddr = kmap_local_page(page);
219-
memcpy(kaddr, iinfo->i_data + iinfo->i_lenEAttr, isize);
220-
memset(kaddr + isize, 0, PAGE_SIZE - isize);
221-
flush_dcache_page(page);
222-
SetPageUptodate(page);
223-
kunmap_local(kaddr);
217+
folio_fill_tail(folio, 0, iinfo->i_data + iinfo->i_lenEAttr, isize);
218+
folio_mark_uptodate(folio);
224219
}
225220

226221
static int udf_read_folio(struct file *file, struct folio *folio)
227222
{
228223
struct udf_inode_info *iinfo = UDF_I(file_inode(file));
229224

230225
if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) {
231-
udf_adinicb_readpage(&folio->page);
226+
udf_adinicb_read_folio(folio);
232227
folio_unlock(folio);
233228
return 0;
234229
}
@@ -272,7 +267,7 @@ static int udf_write_begin(struct file *file, struct address_space *mapping,
272267
return PTR_ERR(folio);
273268
*pagep = &folio->page;
274269
if (!folio_test_uptodate(folio))
275-
udf_adinicb_readpage(&folio->page);
270+
udf_adinicb_read_folio(folio);
276271
return 0;
277272
}
278273

@@ -364,7 +359,7 @@ int udf_expand_file_adinicb(struct inode *inode)
364359
return PTR_ERR(folio);
365360

366361
if (!folio_test_uptodate(folio))
367-
udf_adinicb_readpage(&folio->page);
362+
udf_adinicb_read_folio(folio);
368363
down_write(&iinfo->i_data_sem);
369364
memset(iinfo->i_data + iinfo->i_lenEAttr, 0x00,
370365
iinfo->i_lenAlloc);

0 commit comments

Comments
 (0)