btrfs: make btrfs_dirty_pages() to be subpage compatible
Since the extent io tree operations in btrfs_dirty_pages() are already subpage compatible, we only need to make the page status update to use subpage helpers. Tested-by: Ritesh Harjani <riteshh@linux.ibm.com> # [ppc64] Tested-by: Anand Jain <anand.jain@oracle.com> # [aarch64] Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Родитель
321a02db32
Коммит
f02a85d2d5
|
@ -28,6 +28,7 @@
|
||||||
#include "compression.h"
|
#include "compression.h"
|
||||||
#include "delalloc-space.h"
|
#include "delalloc-space.h"
|
||||||
#include "reflink.h"
|
#include "reflink.h"
|
||||||
|
#include "subpage.h"
|
||||||
|
|
||||||
static struct kmem_cache *btrfs_inode_defrag_cachep;
|
static struct kmem_cache *btrfs_inode_defrag_cachep;
|
||||||
/*
|
/*
|
||||||
|
@ -482,6 +483,7 @@ int btrfs_dirty_pages(struct btrfs_inode *inode, struct page **pages,
|
||||||
start_pos = round_down(pos, fs_info->sectorsize);
|
start_pos = round_down(pos, fs_info->sectorsize);
|
||||||
num_bytes = round_up(write_bytes + pos - start_pos,
|
num_bytes = round_up(write_bytes + pos - start_pos,
|
||||||
fs_info->sectorsize);
|
fs_info->sectorsize);
|
||||||
|
ASSERT(num_bytes <= U32_MAX);
|
||||||
|
|
||||||
end_of_last_block = start_pos + num_bytes - 1;
|
end_of_last_block = start_pos + num_bytes - 1;
|
||||||
|
|
||||||
|
@ -500,9 +502,10 @@ int btrfs_dirty_pages(struct btrfs_inode *inode, struct page **pages,
|
||||||
|
|
||||||
for (i = 0; i < num_pages; i++) {
|
for (i = 0; i < num_pages; i++) {
|
||||||
struct page *p = pages[i];
|
struct page *p = pages[i];
|
||||||
SetPageUptodate(p);
|
|
||||||
|
btrfs_page_clamp_set_uptodate(fs_info, p, start_pos, num_bytes);
|
||||||
ClearPageChecked(p);
|
ClearPageChecked(p);
|
||||||
set_page_dirty(p);
|
btrfs_page_clamp_set_dirty(fs_info, p, start_pos, num_bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Загрузка…
Ссылка в новой задаче