History

ext4: convert fault handler to use vm_fault_t type

Return type of ext4_page_mkwrite and ext4_filemap_fault are changed to use vm_fault_t type. With this patch all the callers of block_page_mkwrite_return() are changed to handle vm_fault_t. So converting the return type of block_page_mkwrite_return() to vm_fault_t.

Souptick Joarder committed 8 years ago

Commit 401b25a1 parent 625ef8a3 files · +18 −17Browse files

Unified · Split

3 files
  1. fs/ext4/ext4.h +2 −2
  2. fs/ext4/inode.c +15 −14
  3. include/linux/buffer_head.h +1 −1
fs/ext4/ext4.h+2−2
@@ -2487,8 +2487,8 @@ extern int ext4_writepage_trans_blocks(struct inode *); · 2486 unmodified lines
24872487 extern int ext4_chunk_trans_blocks(struct inode *, int nrblocks);
24882488 extern int ext4_zero_partial_blocks(handle_t *handle, struct inode *inode,
24892489 loff_t lstart, loff_t lend);
2490−extern int ext4_page_mkwrite(struct vm_fault *vmf);
2491−extern int ext4_filemap_fault(struct vm_fault *vmf);
2490+extern vm_fault_t ext4_page_mkwrite(struct vm_fault *vmf);
2491+extern vm_fault_t ext4_filemap_fault(struct vm_fault *vmf);
24922492 extern qsize_t *ext4_get_reserved_space(struct inode *inode);
24932493 extern int ext4_get_projid(struct inode *inode, kprojid_t *projid);
24942494 extern void ext4_da_release_space(struct inode *inode, int to_free);
fs/ext4/inode.c+15−14
@@ -6184,13 +6184,14 @@ static int ext4_bh_unmapped(handle_t *handle, struct buffer_head *bh) · 6183 unmodified lines
61846184 return !buffer_mapped(bh);
61856185 }
61866186
6187−int ext4_page_mkwrite(struct vm_fault *vmf)
6187+vm_fault_t ext4_page_mkwrite(struct vm_fault *vmf)
61886188 {
61896189 struct vm_area_struct *vma = vmf->vma;
61906190 struct page *page = vmf->page;
61916191 loff_t size;
61926192 unsigned long len;
6193− int ret;
6193+ int err;
6194+ vm_fault_t ret;
61946195 struct file *file = vma->vm_file;
61956196 struct inode *inode = file_inode(file);
61966197 struct address_space *mapping = inode->i_mapping;
@@ -6203,8 +6204,8 @@ int ext4_page_mkwrite(struct vm_fault *vmf) · 6 unmodified lines
62036204
62046205 down_read(&EXT4_I(inode)->i_mmap_sem);
62056206
6206− ret = ext4_convert_inline_data(inode);
6207− if (ret)
6207+ err = ext4_convert_inline_data(inode);
6208+ if (err)
62086209 goto out_ret;
62096210
62106211 /* Delalloc case is easy... */
@@ -6212,9 +6213,9 @@ int ext4_page_mkwrite(struct vm_fault *vmf) · 1 unmodified line
62126213 !ext4_should_journal_data(inode) &&
62136214 !ext4_nonda_switch(inode->i_sb)) {
62146215 do {
6215− ret = block_page_mkwrite(vma, vmf,
6216+ err = block_page_mkwrite(vma, vmf,
62166217 ext4_da_get_block_prep);
6217− } while (ret == -ENOSPC &&
6218+ } while (err == -ENOSPC &&
62186219 ext4_should_retry_alloc(inode->i_sb, &retries));
62196220 goto out_ret;
62206221 }
@@ -6259,8 +6260,8 @@ retry_alloc: · 38 unmodified lines
62596260 ret = VM_FAULT_SIGBUS;
62606261 goto out;
62616262 }
6262− ret = block_page_mkwrite(vma, vmf, get_block);
6263− if (!ret && ext4_should_journal_data(inode)) {
6263+ err = block_page_mkwrite(vma, vmf, get_block);
6264+ if (!err && ext4_should_journal_data(inode)) {
62646265 if (ext4_walk_page_buffers(handle, page_buffers(page), 0,
62656266 PAGE_SIZE, NULL, do_journal_get_write_access)) {
62666267 unlock_page(page);
@@ -6271,24 +6272,24 @@ retry_alloc: · 4 unmodified lines
62716272 ext4_set_inode_state(inode, EXT4_STATE_JDATA);
62726273 }
62736274 ext4_journal_stop(handle);
6274− if (ret == -ENOSPC && ext4_should_retry_alloc(inode->i_sb, &retries))
6275+ if (err == -ENOSPC && ext4_should_retry_alloc(inode->i_sb, &retries))
62756276 goto retry_alloc;
62766277 out_ret:
6277− ret = block_page_mkwrite_return(ret);
6278+ ret = block_page_mkwrite_return(err);
62786279 out:
62796280 up_read(&EXT4_I(inode)->i_mmap_sem);
62806281 sb_end_pagefault(inode->i_sb);
62816282 return ret;
62826283 }
62836284
6284−int ext4_filemap_fault(struct vm_fault *vmf)
6285+vm_fault_t ext4_filemap_fault(struct vm_fault *vmf)
62856286 {
62866287 struct inode *inode = file_inode(vmf->vma->vm_file);
6287− int err;
6288+ vm_fault_t ret;
62886289
62896290 down_read(&EXT4_I(inode)->i_mmap_sem);
6290− err = filemap_fault(vmf);
6291+ ret = filemap_fault(vmf);
62916292 up_read(&EXT4_I(inode)->i_mmap_sem);
62926293
6293− return err;
6294+ return ret;
62946295 }
include/linux/buffer_head.h+1−1
@@ -242,7 +242,7 @@ int block_commit_write(struct page *page, unsigned from, unsigned to); · 241 unmodified lines
242242 int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
243243 get_block_t get_block);
244244 /* Convert errno to return value from ->page_mkwrite() call */
245−static inline int block_page_mkwrite_return(int err)
245+static inline vm_fault_t block_page_mkwrite_return(int err)
246246 {
247247 if (err == 0)
248248 return VM_FAULT_LOCKED;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t