Skip to content

Commit 1ce06d4

Browse files
fdmananakdave
authored andcommitted
btrfs: use a single variable to track return value at btrfs_page_mkwrite()
We have two variables to track return values, ret and ret2, with types vm_fault_t (an unsigned int type) and int, which makes it a bit confusing and harder to keep track. So use a single variable, of type int, and under the 'out' label return vmf_error(ret) in case ret contains an error, otherwise return VM_FAULT_NOPAGE. This is equivalent to what we had before and it's simpler. Reviewed-by: Qu Wenruo <[email protected]> Signed-off-by: Filipe Manana <[email protected]> Reviewed-by: David Sterba <[email protected]> Signed-off-by: David Sterba <[email protected]>
1 parent d8cddf2 commit 1ce06d4

File tree

1 file changed

+16
-21
lines changed

1 file changed

+16
-21
lines changed

fs/btrfs/file.c

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1841,8 +1841,7 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
18411841
unsigned long zero_start;
18421842
loff_t size;
18431843
size_t fsize = folio_size(folio);
1844-
vm_fault_t ret;
1845-
int ret2;
1844+
int ret;
18461845
u64 reserved_space;
18471846
u64 page_start;
18481847
u64 page_end;
@@ -1863,21 +1862,14 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
18631862
* end up waiting indefinitely to get a lock on the page currently
18641863
* being processed by btrfs_page_mkwrite() function.
18651864
*/
1866-
ret2 = btrfs_delalloc_reserve_space(BTRFS_I(inode), &data_reserved,
1867-
page_start, reserved_space);
1868-
if (ret2) {
1869-
ret = vmf_error(ret2);
1865+
ret = btrfs_delalloc_reserve_space(BTRFS_I(inode), &data_reserved,
1866+
page_start, reserved_space);
1867+
if (ret < 0)
18701868
goto out_noreserve;
1871-
}
18721869

1873-
ret2 = file_update_time(vmf->vma->vm_file);
1874-
if (ret2) {
1875-
ret = vmf_error(ret2);
1870+
ret = file_update_time(vmf->vma->vm_file);
1871+
if (ret < 0)
18761872
goto out;
1877-
}
1878-
1879-
/* Make the VM retry the fault. */
1880-
ret = VM_FAULT_NOPAGE;
18811873
again:
18821874
down_read(&BTRFS_I(inode)->i_mmap_lock);
18831875
folio_lock(folio);
@@ -1891,9 +1883,8 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
18911883
folio_wait_writeback(folio);
18921884

18931885
btrfs_lock_extent(io_tree, page_start, page_end, &cached_state);
1894-
ret2 = set_folio_extent_mapped(folio);
1895-
if (ret2 < 0) {
1896-
ret = vmf_error(ret2);
1886+
ret = set_folio_extent_mapped(folio);
1887+
if (ret < 0) {
18971888
btrfs_unlock_extent(io_tree, page_start, page_end, &cached_state);
18981889
goto out_unlock;
18991890
}
@@ -1933,11 +1924,10 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
19331924
EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING |
19341925
EXTENT_DEFRAG, &cached_state);
19351926

1936-
ret2 = btrfs_set_extent_delalloc(BTRFS_I(inode), page_start, end, 0,
1927+
ret = btrfs_set_extent_delalloc(BTRFS_I(inode), page_start, end, 0,
19371928
&cached_state);
1938-
if (ret2) {
1929+
if (ret < 0) {
19391930
btrfs_unlock_extent(io_tree, page_start, page_end, &cached_state);
1940-
ret = vmf_error(ret2);
19411931
goto out_unlock;
19421932
}
19431933

@@ -1974,7 +1964,12 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
19741964
extent_changeset_free(data_reserved);
19751965
out_noreserve:
19761966
sb_end_pagefault(inode->i_sb);
1977-
return ret;
1967+
1968+
if (ret < 0)
1969+
return vmf_error(ret);
1970+
1971+
/* Make the VM retry the fault. */
1972+
return VM_FAULT_NOPAGE;
19781973
}
19791974

19801975
static const struct vm_operations_struct btrfs_file_vm_ops = {

0 commit comments

Comments
 (0)