btrfs: Remove delalloc_end argument from extent_clear_unlock_delalloc
It was added in ba8b04c1d4
("btrfs: extend btrfs_set_extent_delalloc
and its friends to support in-band dedupe and subpage size patchset") as
a preparatory patch for in-band and subapge block size patchsets.
However neither of those are likely to be merged anytime soon and the
code has diverged significantly from the last public post of either
of those patchsets.
It's unlikely either of the patchests are going to use those preparatory
steps so just remove the variables. Since cow_file_range also took
delalloc_end to pass it to extent_clear_unlock_delalloc remove the
parameter from that function as well.
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
cecc8d9038
commit
74e9194afb
|
@ -1938,9 +1938,9 @@ out:
|
||||||
}
|
}
|
||||||
|
|
||||||
void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
|
void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
|
||||||
u64 delalloc_end, struct page *locked_page,
|
struct page *locked_page,
|
||||||
unsigned clear_bits,
|
unsigned clear_bits,
|
||||||
unsigned long page_ops)
|
unsigned long page_ops)
|
||||||
{
|
{
|
||||||
clear_extent_bit(&BTRFS_I(inode)->io_tree, start, end, clear_bits, 1, 0,
|
clear_extent_bit(&BTRFS_I(inode)->io_tree, start, end, clear_bits, 1, 0,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
|
@ -494,9 +494,9 @@ int map_private_extent_buffer(const struct extent_buffer *eb,
|
||||||
void extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end);
|
void extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end);
|
||||||
void extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end);
|
void extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end);
|
||||||
void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
|
void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
|
||||||
u64 delalloc_end, struct page *locked_page,
|
struct page *locked_page,
|
||||||
unsigned bits_to_clear,
|
unsigned bits_to_clear,
|
||||||
unsigned long page_ops);
|
unsigned long page_ops);
|
||||||
struct bio *btrfs_bio_alloc(u64 first_byte);
|
struct bio *btrfs_bio_alloc(u64 first_byte);
|
||||||
struct bio *btrfs_io_bio_alloc(unsigned int nr_iovecs);
|
struct bio *btrfs_io_bio_alloc(unsigned int nr_iovecs);
|
||||||
struct bio *btrfs_bio_clone(struct bio *bio);
|
struct bio *btrfs_bio_clone(struct bio *bio);
|
||||||
|
|
|
@ -80,9 +80,9 @@ static int btrfs_truncate(struct inode *inode, bool skip_writeback);
|
||||||
static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent);
|
static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent);
|
||||||
static noinline int cow_file_range(struct inode *inode,
|
static noinline int cow_file_range(struct inode *inode,
|
||||||
struct page *locked_page,
|
struct page *locked_page,
|
||||||
u64 start, u64 end, u64 delalloc_end,
|
u64 start, u64 end, int *page_started,
|
||||||
int *page_started, unsigned long *nr_written,
|
unsigned long *nr_written, int unlock,
|
||||||
int unlock, struct btrfs_dedupe_hash *hash);
|
struct btrfs_dedupe_hash *hash);
|
||||||
static struct extent_map *create_io_em(struct inode *inode, u64 start, u64 len,
|
static struct extent_map *create_io_em(struct inode *inode, u64 start, u64 len,
|
||||||
u64 orig_start, u64 block_start,
|
u64 orig_start, u64 block_start,
|
||||||
u64 block_len, u64 orig_block_len,
|
u64 block_len, u64 orig_block_len,
|
||||||
|
@ -615,8 +615,8 @@ cont:
|
||||||
* our outstanding extent for clearing delalloc for this
|
* our outstanding extent for clearing delalloc for this
|
||||||
* range.
|
* range.
|
||||||
*/
|
*/
|
||||||
extent_clear_unlock_delalloc(inode, start, end, end,
|
extent_clear_unlock_delalloc(inode, start, end, NULL,
|
||||||
NULL, clear_flags,
|
clear_flags,
|
||||||
PAGE_UNLOCK |
|
PAGE_UNLOCK |
|
||||||
PAGE_CLEAR_DIRTY |
|
PAGE_CLEAR_DIRTY |
|
||||||
PAGE_SET_WRITEBACK |
|
PAGE_SET_WRITEBACK |
|
||||||
|
@ -762,8 +762,6 @@ retry:
|
||||||
async_extent->start,
|
async_extent->start,
|
||||||
async_extent->start +
|
async_extent->start +
|
||||||
async_extent->ram_size - 1,
|
async_extent->ram_size - 1,
|
||||||
async_extent->start +
|
|
||||||
async_extent->ram_size - 1,
|
|
||||||
&page_started, &nr_written, 0,
|
&page_started, &nr_written, 0,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
@ -853,8 +851,6 @@ retry:
|
||||||
* clear dirty, set writeback and unlock the pages.
|
* clear dirty, set writeback and unlock the pages.
|
||||||
*/
|
*/
|
||||||
extent_clear_unlock_delalloc(inode, async_extent->start,
|
extent_clear_unlock_delalloc(inode, async_extent->start,
|
||||||
async_extent->start +
|
|
||||||
async_extent->ram_size - 1,
|
|
||||||
async_extent->start +
|
async_extent->start +
|
||||||
async_extent->ram_size - 1,
|
async_extent->ram_size - 1,
|
||||||
NULL, EXTENT_LOCKED | EXTENT_DELALLOC,
|
NULL, EXTENT_LOCKED | EXTENT_DELALLOC,
|
||||||
|
@ -875,7 +871,7 @@ retry:
|
||||||
btrfs_writepage_endio_finish_ordered(p, start, end, 0);
|
btrfs_writepage_endio_finish_ordered(p, start, end, 0);
|
||||||
|
|
||||||
p->mapping = NULL;
|
p->mapping = NULL;
|
||||||
extent_clear_unlock_delalloc(inode, start, end, end,
|
extent_clear_unlock_delalloc(inode, start, end,
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
PAGE_END_WRITEBACK |
|
PAGE_END_WRITEBACK |
|
||||||
PAGE_SET_ERROR);
|
PAGE_SET_ERROR);
|
||||||
|
@ -891,8 +887,6 @@ out_free_reserve:
|
||||||
btrfs_free_reserved_extent(fs_info, ins.objectid, ins.offset, 1);
|
btrfs_free_reserved_extent(fs_info, ins.objectid, ins.offset, 1);
|
||||||
out_free:
|
out_free:
|
||||||
extent_clear_unlock_delalloc(inode, async_extent->start,
|
extent_clear_unlock_delalloc(inode, async_extent->start,
|
||||||
async_extent->start +
|
|
||||||
async_extent->ram_size - 1,
|
|
||||||
async_extent->start +
|
async_extent->start +
|
||||||
async_extent->ram_size - 1,
|
async_extent->ram_size - 1,
|
||||||
NULL, EXTENT_LOCKED | EXTENT_DELALLOC |
|
NULL, EXTENT_LOCKED | EXTENT_DELALLOC |
|
||||||
|
@ -953,9 +947,9 @@ static u64 get_extent_allocation_hint(struct inode *inode, u64 start,
|
||||||
*/
|
*/
|
||||||
static noinline int cow_file_range(struct inode *inode,
|
static noinline int cow_file_range(struct inode *inode,
|
||||||
struct page *locked_page,
|
struct page *locked_page,
|
||||||
u64 start, u64 end, u64 delalloc_end,
|
u64 start, u64 end, int *page_started,
|
||||||
int *page_started, unsigned long *nr_written,
|
unsigned long *nr_written, int unlock,
|
||||||
int unlock, struct btrfs_dedupe_hash *hash)
|
struct btrfs_dedupe_hash *hash)
|
||||||
{
|
{
|
||||||
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
|
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
|
||||||
struct btrfs_root *root = BTRFS_I(inode)->root;
|
struct btrfs_root *root = BTRFS_I(inode)->root;
|
||||||
|
@ -994,8 +988,7 @@ static noinline int cow_file_range(struct inode *inode,
|
||||||
* our outstanding extent for clearing delalloc for this
|
* our outstanding extent for clearing delalloc for this
|
||||||
* range.
|
* range.
|
||||||
*/
|
*/
|
||||||
extent_clear_unlock_delalloc(inode, start, end,
|
extent_clear_unlock_delalloc(inode, start, end, NULL,
|
||||||
delalloc_end, NULL,
|
|
||||||
EXTENT_LOCKED | EXTENT_DELALLOC |
|
EXTENT_LOCKED | EXTENT_DELALLOC |
|
||||||
EXTENT_DELALLOC_NEW | EXTENT_DEFRAG |
|
EXTENT_DELALLOC_NEW | EXTENT_DEFRAG |
|
||||||
EXTENT_DO_ACCOUNTING, PAGE_UNLOCK |
|
EXTENT_DO_ACCOUNTING, PAGE_UNLOCK |
|
||||||
|
@ -1078,7 +1071,7 @@ static noinline int cow_file_range(struct inode *inode,
|
||||||
|
|
||||||
extent_clear_unlock_delalloc(inode, start,
|
extent_clear_unlock_delalloc(inode, start,
|
||||||
start + ram_size - 1,
|
start + ram_size - 1,
|
||||||
delalloc_end, locked_page,
|
locked_page,
|
||||||
EXTENT_LOCKED | EXTENT_DELALLOC,
|
EXTENT_LOCKED | EXTENT_DELALLOC,
|
||||||
page_ops);
|
page_ops);
|
||||||
if (num_bytes < cur_alloc_size)
|
if (num_bytes < cur_alloc_size)
|
||||||
|
@ -1122,7 +1115,6 @@ out_unlock:
|
||||||
*/
|
*/
|
||||||
if (extent_reserved) {
|
if (extent_reserved) {
|
||||||
extent_clear_unlock_delalloc(inode, start,
|
extent_clear_unlock_delalloc(inode, start,
|
||||||
start + cur_alloc_size,
|
|
||||||
start + cur_alloc_size,
|
start + cur_alloc_size,
|
||||||
locked_page,
|
locked_page,
|
||||||
clear_bits,
|
clear_bits,
|
||||||
|
@ -1131,8 +1123,7 @@ out_unlock:
|
||||||
if (start >= end)
|
if (start >= end)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
extent_clear_unlock_delalloc(inode, start, end, delalloc_end,
|
extent_clear_unlock_delalloc(inode, start, end, locked_page,
|
||||||
locked_page,
|
|
||||||
clear_bits | EXTENT_CLEAR_DATA_RESV,
|
clear_bits | EXTENT_CLEAR_DATA_RESV,
|
||||||
page_ops);
|
page_ops);
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -1235,7 +1226,7 @@ static int cow_file_range_async(struct inode *inode, struct page *locked_page,
|
||||||
PAGE_SET_WRITEBACK | PAGE_END_WRITEBACK |
|
PAGE_SET_WRITEBACK | PAGE_END_WRITEBACK |
|
||||||
PAGE_SET_ERROR;
|
PAGE_SET_ERROR;
|
||||||
|
|
||||||
extent_clear_unlock_delalloc(inode, start, end, 0, locked_page,
|
extent_clear_unlock_delalloc(inode, start, end, locked_page,
|
||||||
clear_bits, page_ops);
|
clear_bits, page_ops);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
@ -1338,8 +1329,7 @@ static noinline int run_delalloc_nocow(struct inode *inode,
|
||||||
|
|
||||||
path = btrfs_alloc_path();
|
path = btrfs_alloc_path();
|
||||||
if (!path) {
|
if (!path) {
|
||||||
extent_clear_unlock_delalloc(inode, start, end, end,
|
extent_clear_unlock_delalloc(inode, start, end, locked_page,
|
||||||
locked_page,
|
|
||||||
EXTENT_LOCKED | EXTENT_DELALLOC |
|
EXTENT_LOCKED | EXTENT_DELALLOC |
|
||||||
EXTENT_DO_ACCOUNTING |
|
EXTENT_DO_ACCOUNTING |
|
||||||
EXTENT_DEFRAG, PAGE_UNLOCK |
|
EXTENT_DEFRAG, PAGE_UNLOCK |
|
||||||
|
@ -1516,7 +1506,7 @@ out_check:
|
||||||
if (cow_start != (u64)-1) {
|
if (cow_start != (u64)-1) {
|
||||||
ret = cow_file_range(inode, locked_page,
|
ret = cow_file_range(inode, locked_page,
|
||||||
cow_start, found_key.offset - 1,
|
cow_start, found_key.offset - 1,
|
||||||
end, page_started, nr_written, 1,
|
page_started, nr_written, 1,
|
||||||
NULL);
|
NULL);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
if (nocow)
|
if (nocow)
|
||||||
|
@ -1570,7 +1560,7 @@ out_check:
|
||||||
num_bytes);
|
num_bytes);
|
||||||
|
|
||||||
extent_clear_unlock_delalloc(inode, cur_offset,
|
extent_clear_unlock_delalloc(inode, cur_offset,
|
||||||
cur_offset + num_bytes - 1, end,
|
cur_offset + num_bytes - 1,
|
||||||
locked_page, EXTENT_LOCKED |
|
locked_page, EXTENT_LOCKED |
|
||||||
EXTENT_DELALLOC |
|
EXTENT_DELALLOC |
|
||||||
EXTENT_CLEAR_DATA_RESV,
|
EXTENT_CLEAR_DATA_RESV,
|
||||||
|
@ -1595,7 +1585,7 @@ out_check:
|
||||||
|
|
||||||
if (cow_start != (u64)-1) {
|
if (cow_start != (u64)-1) {
|
||||||
cur_offset = end;
|
cur_offset = end;
|
||||||
ret = cow_file_range(inode, locked_page, cow_start, end, end,
|
ret = cow_file_range(inode, locked_page, cow_start, end,
|
||||||
page_started, nr_written, 1, NULL);
|
page_started, nr_written, 1, NULL);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -1603,7 +1593,7 @@ out_check:
|
||||||
|
|
||||||
error:
|
error:
|
||||||
if (ret && cur_offset < end)
|
if (ret && cur_offset < end)
|
||||||
extent_clear_unlock_delalloc(inode, cur_offset, end, end,
|
extent_clear_unlock_delalloc(inode, cur_offset, end,
|
||||||
locked_page, EXTENT_LOCKED |
|
locked_page, EXTENT_LOCKED |
|
||||||
EXTENT_DELALLOC | EXTENT_DEFRAG |
|
EXTENT_DELALLOC | EXTENT_DEFRAG |
|
||||||
EXTENT_DO_ACCOUNTING, PAGE_UNLOCK |
|
EXTENT_DO_ACCOUNTING, PAGE_UNLOCK |
|
||||||
|
@ -1654,7 +1644,7 @@ int btrfs_run_delalloc_range(struct inode *inode, struct page *locked_page,
|
||||||
page_started, 0, nr_written);
|
page_started, 0, nr_written);
|
||||||
} else if (!inode_can_compress(inode) ||
|
} else if (!inode_can_compress(inode) ||
|
||||||
!inode_need_compress(inode, start, end)) {
|
!inode_need_compress(inode, start, end)) {
|
||||||
ret = cow_file_range(inode, locked_page, start, end, end,
|
ret = cow_file_range(inode, locked_page, start, end,
|
||||||
page_started, nr_written, 1, NULL);
|
page_started, nr_written, 1, NULL);
|
||||||
} else {
|
} else {
|
||||||
set_bit(BTRFS_INODE_HAS_ASYNC_EXTENT,
|
set_bit(BTRFS_INODE_HAS_ASYNC_EXTENT,
|
||||||
|
|
Loading…
Reference in New Issue