Skip to content

Commit f5985ef

Browse files
Matthew Wilcox (Oracle)jankara
authored andcommitted
udf: Convert udf_page_mkwrite() to use a folio
Convert the vm_fault page to a folio, then use it throughout. Replaces five calls to compound_head() with one. Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
1 parent 2f1c1bd commit f5985ef

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

fs/udf/file.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ static vm_fault_t udf_page_mkwrite(struct vm_fault *vmf)
3939
struct vm_area_struct *vma = vmf->vma;
4040
struct inode *inode = file_inode(vma->vm_file);
4141
struct address_space *mapping = inode->i_mapping;
42-
struct page *page = vmf->page;
42+
struct folio *folio = page_folio(vmf->page);
4343
loff_t size;
4444
unsigned int end;
4545
vm_fault_t ret = VM_FAULT_LOCKED;
@@ -48,31 +48,31 @@ static vm_fault_t udf_page_mkwrite(struct vm_fault *vmf)
4848
sb_start_pagefault(inode->i_sb);
4949
file_update_time(vma->vm_file);
5050
filemap_invalidate_lock_shared(mapping);
51-
lock_page(page);
51+
folio_lock(folio);
5252
size = i_size_read(inode);
53-
if (page->mapping != inode->i_mapping || page_offset(page) >= size) {
54-
unlock_page(page);
53+
if (folio->mapping != inode->i_mapping || folio_pos(folio) >= size) {
54+
folio_unlock(folio);
5555
ret = VM_FAULT_NOPAGE;
5656
goto out_unlock;
5757
}
5858
/* Space is already allocated for in-ICB file */
5959
if (UDF_I(inode)->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB)
6060
goto out_dirty;
61-
if (page->index == size >> PAGE_SHIFT)
61+
if (folio->index == size >> PAGE_SHIFT)
6262
end = size & ~PAGE_MASK;
6363
else
6464
end = PAGE_SIZE;
65-
err = __block_write_begin(page, 0, end, udf_get_block);
65+
err = __block_write_begin(&folio->page, 0, end, udf_get_block);
6666
if (err) {
67-
unlock_page(page);
67+
folio_unlock(folio);
6868
ret = vmf_fs_error(err);
6969
goto out_unlock;
7070
}
7171

72-
block_commit_write(page, 0, end);
72+
block_commit_write(&folio->page, 0, end);
7373
out_dirty:
74-
set_page_dirty(page);
75-
wait_for_stable_page(page);
74+
folio_mark_dirty(folio);
75+
folio_wait_stable(folio);
7676
out_unlock:
7777
filemap_invalidate_unlock_shared(mapping);
7878
sb_end_pagefault(inode->i_sb);

0 commit comments

Comments
 (0)