mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-14 12:37:32 +00:00
btrfs: make writepage_delalloc take btrfs_inode
Only find_lock_delalloc_range uses vfs_inode so let's take the btrfs_inode as a parameter. Signed-off-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
d4580fe25d
commit
cd4c0bf942
1 changed files with 5 additions and 4 deletions
|
@ -3419,7 +3419,7 @@ static void update_nr_written(struct writeback_control *wbc,
|
||||||
* This returns 0 if all went well (page still locked)
|
* This returns 0 if all went well (page still locked)
|
||||||
* This returns < 0 if there were errors (page still locked)
|
* This returns < 0 if there were errors (page still locked)
|
||||||
*/
|
*/
|
||||||
static noinline_for_stack int writepage_delalloc(struct inode *inode,
|
static noinline_for_stack int writepage_delalloc(struct btrfs_inode *inode,
|
||||||
struct page *page, struct writeback_control *wbc,
|
struct page *page, struct writeback_control *wbc,
|
||||||
u64 delalloc_start, unsigned long *nr_written)
|
u64 delalloc_start, unsigned long *nr_written)
|
||||||
{
|
{
|
||||||
|
@ -3432,14 +3432,14 @@ static noinline_for_stack int writepage_delalloc(struct inode *inode,
|
||||||
|
|
||||||
|
|
||||||
while (delalloc_end < page_end) {
|
while (delalloc_end < page_end) {
|
||||||
found = find_lock_delalloc_range(inode, page,
|
found = find_lock_delalloc_range(&inode->vfs_inode, page,
|
||||||
&delalloc_start,
|
&delalloc_start,
|
||||||
&delalloc_end);
|
&delalloc_end);
|
||||||
if (!found) {
|
if (!found) {
|
||||||
delalloc_start = delalloc_end + 1;
|
delalloc_start = delalloc_end + 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ret = btrfs_run_delalloc_range(BTRFS_I(inode), page, delalloc_start,
|
ret = btrfs_run_delalloc_range(inode, page, delalloc_start,
|
||||||
delalloc_end, &page_started, nr_written, wbc);
|
delalloc_end, &page_started, nr_written, wbc);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
SetPageError(page);
|
SetPageError(page);
|
||||||
|
@ -3657,7 +3657,8 @@ static int __extent_writepage(struct page *page, struct writeback_control *wbc,
|
||||||
set_page_extent_mapped(page);
|
set_page_extent_mapped(page);
|
||||||
|
|
||||||
if (!epd->extent_locked) {
|
if (!epd->extent_locked) {
|
||||||
ret = writepage_delalloc(inode, page, wbc, start, &nr_written);
|
ret = writepage_delalloc(BTRFS_I(inode), page, wbc, start,
|
||||||
|
&nr_written);
|
||||||
if (ret == 1)
|
if (ret == 1)
|
||||||
return 0;
|
return 0;
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
Loading…
Reference in a new issue