Skip to content

Commit 863b9df

Browse files
fdmananakdave
authored andcommitted
btrfs: use btrfs_inode local variable at btrfs_page_mkwrite()
Most of the time we want to use the btrfs_inode, so change the local inode variable to be a btrfs_inode instead of a VFS inode, reducing verbosity by eliminating a lot of BTRFS_I() calls. 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 27a98eb commit 863b9df

File tree

1 file changed

+30
-34
lines changed

1 file changed

+30
-34
lines changed

fs/btrfs/file.c

Lines changed: 30 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1831,9 +1831,9 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
18311831
{
18321832
struct page *page = vmf->page;
18331833
struct folio *folio = page_folio(page);
1834-
struct inode *inode = file_inode(vmf->vma->vm_file);
1835-
struct btrfs_fs_info *fs_info = inode_to_fs_info(inode);
1836-
struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
1834+
struct btrfs_inode *inode = BTRFS_I(file_inode(vmf->vma->vm_file));
1835+
struct btrfs_fs_info *fs_info = inode->root->fs_info;
1836+
struct extent_io_tree *io_tree = &inode->io_tree;
18371837
struct btrfs_ordered_extent *ordered;
18381838
struct extent_state *cached_state = NULL;
18391839
struct extent_changeset *data_reserved = NULL;
@@ -1849,7 +1849,7 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
18491849

18501850
reserved_space = fsize;
18511851

1852-
sb_start_pagefault(inode->i_sb);
1852+
sb_start_pagefault(inode->vfs_inode.i_sb);
18531853
page_start = folio_pos(folio);
18541854
page_end = page_start + folio_size(folio) - 1;
18551855
end = page_end;
@@ -1862,13 +1862,12 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
18621862
* end up waiting indefinitely to get a lock on the page currently
18631863
* being processed by btrfs_page_mkwrite() function.
18641864
*/
1865-
ret = btrfs_check_data_free_space(BTRFS_I(inode), &data_reserved,
1866-
page_start, reserved_space, false);
1865+
ret = btrfs_check_data_free_space(inode, &data_reserved, page_start,
1866+
reserved_space, false);
18671867
if (ret < 0) {
18681868
size_t write_bytes = reserved_space;
18691869

1870-
if (btrfs_check_nocow_lock(BTRFS_I(inode), page_start,
1871-
&write_bytes, false) <= 0)
1870+
if (btrfs_check_nocow_lock(inode, page_start, &write_bytes, false) <= 0)
18721871
goto out_noreserve;
18731872

18741873
only_release_metadata = true;
@@ -1882,11 +1881,11 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
18821881
if (write_bytes < reserved_space)
18831882
goto out_noreserve;
18841883
}
1885-
ret = btrfs_delalloc_reserve_metadata(BTRFS_I(inode), reserved_space,
1884+
ret = btrfs_delalloc_reserve_metadata(inode, reserved_space,
18861885
reserved_space, false);
18871886
if (ret < 0) {
18881887
if (!only_release_metadata)
1889-
btrfs_free_reserved_data_space(BTRFS_I(inode), data_reserved,
1888+
btrfs_free_reserved_data_space(inode, data_reserved,
18901889
page_start, reserved_space);
18911890
goto out_noreserve;
18921891
}
@@ -1895,11 +1894,11 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
18951894
if (ret < 0)
18961895
goto out;
18971896
again:
1898-
down_read(&BTRFS_I(inode)->i_mmap_lock);
1897+
down_read(&inode->i_mmap_lock);
18991898
folio_lock(folio);
1900-
size = i_size_read(inode);
1899+
size = i_size_read(&inode->vfs_inode);
19011900

1902-
if ((folio->mapping != inode->i_mapping) ||
1901+
if ((folio->mapping != inode->vfs_inode.i_mapping) ||
19031902
(page_start >= size)) {
19041903
/* Page got truncated out from underneath us. */
19051904
goto out_unlock;
@@ -1917,11 +1916,11 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
19171916
* We can't set the delalloc bits if there are pending ordered
19181917
* extents. Drop our locks and wait for them to finish.
19191918
*/
1920-
ordered = btrfs_lookup_ordered_range(BTRFS_I(inode), page_start, fsize);
1919+
ordered = btrfs_lookup_ordered_range(inode, page_start, fsize);
19211920
if (ordered) {
19221921
btrfs_unlock_extent(io_tree, page_start, page_end, &cached_state);
19231922
folio_unlock(folio);
1924-
up_read(&BTRFS_I(inode)->i_mmap_lock);
1923+
up_read(&inode->i_mmap_lock);
19251924
btrfs_start_ordered_extent(ordered);
19261925
btrfs_put_ordered_extent(ordered);
19271926
goto again;
@@ -1934,12 +1933,10 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
19341933

19351934
end = page_start + reserved_space - 1;
19361935
if (only_release_metadata)
1937-
btrfs_delalloc_release_metadata(BTRFS_I(inode),
1938-
to_free, true);
1936+
btrfs_delalloc_release_metadata(inode, to_free, true);
19391937
else
1940-
btrfs_delalloc_release_space(BTRFS_I(inode),
1941-
data_reserved, end + 1,
1942-
to_free, true);
1938+
btrfs_delalloc_release_space(inode, data_reserved,
1939+
end + 1, to_free, true);
19431940
}
19441941
}
19451942

@@ -1954,8 +1951,7 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
19541951
EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING |
19551952
EXTENT_DEFRAG, &cached_state);
19561953

1957-
ret = btrfs_set_extent_delalloc(BTRFS_I(inode), page_start, end, 0,
1958-
&cached_state);
1954+
ret = btrfs_set_extent_delalloc(inode, page_start, end, 0, &cached_state);
19591955
if (ret < 0) {
19601956
btrfs_unlock_extent(io_tree, page_start, page_end, &cached_state);
19611957
goto out_unlock;
@@ -1974,38 +1970,38 @@ static vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf)
19741970
btrfs_folio_set_dirty(fs_info, folio, page_start, end + 1 - page_start);
19751971
btrfs_folio_set_uptodate(fs_info, folio, page_start, end + 1 - page_start);
19761972

1977-
btrfs_set_inode_last_sub_trans(BTRFS_I(inode));
1973+
btrfs_set_inode_last_sub_trans(inode);
19781974

19791975
if (only_release_metadata)
19801976
btrfs_set_extent_bit(io_tree, page_start, end, EXTENT_NORESERVE,
19811977
&cached_state);
19821978

19831979
btrfs_unlock_extent(io_tree, page_start, page_end, &cached_state);
1984-
up_read(&BTRFS_I(inode)->i_mmap_lock);
1980+
up_read(&inode->i_mmap_lock);
19851981

1986-
btrfs_delalloc_release_extents(BTRFS_I(inode), fsize);
1982+
btrfs_delalloc_release_extents(inode, fsize);
19871983
if (only_release_metadata)
1988-
btrfs_check_nocow_unlock(BTRFS_I(inode));
1989-
sb_end_pagefault(inode->i_sb);
1984+
btrfs_check_nocow_unlock(inode);
1985+
sb_end_pagefault(inode->vfs_inode.i_sb);
19901986
extent_changeset_free(data_reserved);
19911987
return VM_FAULT_LOCKED;
19921988

19931989
out_unlock:
19941990
folio_unlock(folio);
1995-
up_read(&BTRFS_I(inode)->i_mmap_lock);
1991+
up_read(&inode->i_mmap_lock);
19961992
out:
1997-
btrfs_delalloc_release_extents(BTRFS_I(inode), fsize);
1993+
btrfs_delalloc_release_extents(inode, fsize);
19981994
if (only_release_metadata)
1999-
btrfs_delalloc_release_metadata(BTRFS_I(inode), reserved_space, true);
1995+
btrfs_delalloc_release_metadata(inode, reserved_space, true);
20001996
else
2001-
btrfs_delalloc_release_space(BTRFS_I(inode), data_reserved,
2002-
page_start, reserved_space, true);
1997+
btrfs_delalloc_release_space(inode, data_reserved, page_start,
1998+
reserved_space, true);
20031999
extent_changeset_free(data_reserved);
20042000
out_noreserve:
20052001
if (only_release_metadata)
2006-
btrfs_check_nocow_unlock(BTRFS_I(inode));
2002+
btrfs_check_nocow_unlock(inode);
20072003

2008-
sb_end_pagefault(inode->i_sb);
2004+
sb_end_pagefault(inode->vfs_inode.i_sb);
20092005

20102006
if (ret < 0)
20112007
return vmf_error(ret);

0 commit comments

Comments
 (0)