mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 08:46:40 +07:00
btrfs: sink writepage parameter to extent_write_cache_pages
The function extent_write_cache_pages is modelled after write_cache_pages which is a generic interface and the writepage parameter makes sense there. In btrfs we know exactly which callback we're going to use, so we can pass it directly. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
25b860e038
commit
935db8531f
@ -3893,8 +3893,7 @@ int btree_write_cache_pages(struct address_space *mapping,
|
|||||||
* write_cache_pages - walk the list of dirty pages of the given address space and write all of them.
|
* write_cache_pages - walk the list of dirty pages of the given address space and write all of them.
|
||||||
* @mapping: address space structure to write
|
* @mapping: address space structure to write
|
||||||
* @wbc: subtract the number of written pages from *@wbc->nr_to_write
|
* @wbc: subtract the number of written pages from *@wbc->nr_to_write
|
||||||
* @writepage: function called for each page
|
* @data: data passed to __extent_writepage function
|
||||||
* @data: data passed to writepage function
|
|
||||||
*
|
*
|
||||||
* If a page is already under I/O, write_cache_pages() skips it, even
|
* If a page is already under I/O, write_cache_pages() skips it, even
|
||||||
* if it's dirty. This is desirable behaviour for memory-cleaning writeback,
|
* if it's dirty. This is desirable behaviour for memory-cleaning writeback,
|
||||||
@ -3906,7 +3905,7 @@ int btree_write_cache_pages(struct address_space *mapping,
|
|||||||
*/
|
*/
|
||||||
static int extent_write_cache_pages(struct address_space *mapping,
|
static int extent_write_cache_pages(struct address_space *mapping,
|
||||||
struct writeback_control *wbc,
|
struct writeback_control *wbc,
|
||||||
writepage_t writepage, void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
struct inode *inode = mapping->host;
|
struct inode *inode = mapping->host;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
@ -3991,7 +3990,7 @@ static int extent_write_cache_pages(struct address_space *mapping,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = (*writepage)(page, wbc, data);
|
ret = __extent_writepage(page, wbc, data);
|
||||||
|
|
||||||
if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE)) {
|
if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE)) {
|
||||||
unlock_page(page);
|
unlock_page(page);
|
||||||
@ -4122,7 +4121,7 @@ int extent_writepages(struct extent_io_tree *tree,
|
|||||||
.sync_io = wbc->sync_mode == WB_SYNC_ALL,
|
.sync_io = wbc->sync_mode == WB_SYNC_ALL,
|
||||||
};
|
};
|
||||||
|
|
||||||
ret = extent_write_cache_pages(mapping, wbc, __extent_writepage, &epd);
|
ret = extent_write_cache_pages(mapping, wbc, &epd);
|
||||||
flush_write_bio(&epd);
|
flush_write_bio(&epd);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user