mirror of
https://github.com/torvalds/linux.git
synced 2025-04-12 16:47:42 +00:00
fs: convert block_commit_write() to take a folio
All callers now have a folio, so pass it in instead of converting folio->page->folio. Link: https://lkml.kernel.org/r/20250217192009.437916-1-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
fcd807a03b
commit
63a23847dc
14
fs/buffer.c
14
fs/buffer.c
@ -2166,7 +2166,7 @@ int __block_write_begin(struct folio *folio, loff_t pos, unsigned len,
|
||||
}
|
||||
EXPORT_SYMBOL(__block_write_begin);
|
||||
|
||||
static void __block_commit_write(struct folio *folio, size_t from, size_t to)
|
||||
void block_commit_write(struct folio *folio, size_t from, size_t to)
|
||||
{
|
||||
size_t block_start, block_end;
|
||||
bool partial = false;
|
||||
@ -2204,6 +2204,7 @@ static void __block_commit_write(struct folio *folio, size_t from, size_t to)
|
||||
if (!partial)
|
||||
folio_mark_uptodate(folio);
|
||||
}
|
||||
EXPORT_SYMBOL(block_commit_write);
|
||||
|
||||
/*
|
||||
* block_write_begin takes care of the basic task of block allocation and
|
||||
@ -2262,7 +2263,7 @@ int block_write_end(struct file *file, struct address_space *mapping,
|
||||
flush_dcache_folio(folio);
|
||||
|
||||
/* This could be a short (even 0-length) commit */
|
||||
__block_commit_write(folio, start, start + copied);
|
||||
block_commit_write(folio, start, start + copied);
|
||||
|
||||
return copied;
|
||||
}
|
||||
@ -2578,13 +2579,6 @@ int cont_write_begin(struct file *file, struct address_space *mapping,
|
||||
}
|
||||
EXPORT_SYMBOL(cont_write_begin);
|
||||
|
||||
void block_commit_write(struct page *page, unsigned from, unsigned to)
|
||||
{
|
||||
struct folio *folio = page_folio(page);
|
||||
__block_commit_write(folio, from, to);
|
||||
}
|
||||
EXPORT_SYMBOL(block_commit_write);
|
||||
|
||||
/*
|
||||
* block_page_mkwrite() is not allowed to change the file size as it gets
|
||||
* called from a page fault handler when a page is first dirtied. Hence we must
|
||||
@ -2630,7 +2624,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
|
||||
if (unlikely(ret))
|
||||
goto out_unlock;
|
||||
|
||||
__block_commit_write(folio, 0, end);
|
||||
block_commit_write(folio, 0, end);
|
||||
|
||||
folio_mark_dirty(folio);
|
||||
folio_wait_stable(folio);
|
||||
|
@ -637,7 +637,7 @@ retry:
|
||||
goto retry;
|
||||
|
||||
if (folio)
|
||||
block_commit_write(&folio->page, from, to);
|
||||
block_commit_write(folio, from, to);
|
||||
out:
|
||||
if (folio) {
|
||||
folio_unlock(folio);
|
||||
|
@ -399,7 +399,7 @@ data_copy:
|
||||
bh = bh->b_this_page;
|
||||
}
|
||||
|
||||
block_commit_write(&folio[0]->page, from, from + replaced_size);
|
||||
block_commit_write(folio[0], from, from + replaced_size);
|
||||
|
||||
/* Even in case of data=writeback it is reasonable to pin
|
||||
* inode to transaction, to prevent unexpected data loss */
|
||||
|
@ -1484,7 +1484,7 @@ static loff_t iomap_folio_mkwrite_iter(struct iomap_iter *iter,
|
||||
&iter->iomap);
|
||||
if (ret)
|
||||
return ret;
|
||||
block_commit_write(&folio->page, 0, length);
|
||||
block_commit_write(folio, 0, length);
|
||||
} else {
|
||||
WARN_ON_ONCE(!folio_test_uptodate(folio));
|
||||
folio_mark_dirty(folio);
|
||||
|
@ -920,7 +920,7 @@ static void ocfs2_write_failure(struct inode *inode,
|
||||
ocfs2_jbd2_inode_add_write(wc->w_handle, inode,
|
||||
user_pos, user_len);
|
||||
|
||||
block_commit_write(&folio->page, from, to);
|
||||
block_commit_write(folio, from, to);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2012,7 +2012,7 @@ int ocfs2_write_end_nolock(struct address_space *mapping, loff_t pos,
|
||||
ocfs2_jbd2_inode_add_write(handle, inode,
|
||||
start_byte, length);
|
||||
}
|
||||
block_commit_write(&folio->page, from, to);
|
||||
block_commit_write(folio, from, to);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -813,7 +813,7 @@ static int ocfs2_write_zero_page(struct inode *inode, u64 abs_from,
|
||||
|
||||
|
||||
/* must not update i_size! */
|
||||
block_commit_write(&folio->page, block_start + 1, block_start + 1);
|
||||
block_commit_write(folio, block_start + 1, block_start + 1);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -69,7 +69,7 @@ static vm_fault_t udf_page_mkwrite(struct vm_fault *vmf)
|
||||
goto out_unlock;
|
||||
}
|
||||
|
||||
block_commit_write(&folio->page, 0, end);
|
||||
block_commit_write(folio, 0, end);
|
||||
out_dirty:
|
||||
folio_mark_dirty(folio);
|
||||
folio_wait_stable(folio);
|
||||
|
@ -271,7 +271,7 @@ int cont_write_begin(struct file *, struct address_space *, loff_t,
|
||||
unsigned, struct folio **, void **,
|
||||
get_block_t *, loff_t *);
|
||||
int generic_cont_expand_simple(struct inode *inode, loff_t size);
|
||||
void block_commit_write(struct page *page, unsigned int from, unsigned int to);
|
||||
void block_commit_write(struct folio *folio, size_t from, size_t to);
|
||||
int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
|
||||
get_block_t get_block);
|
||||
sector_t generic_block_bmap(struct address_space *, sector_t, get_block_t *);
|
||||
|
Loading…
x
Reference in New Issue
Block a user