Skip to content

Commit

Permalink
btrfs: Remove extent_io_ops::split_extent_hook callback
Browse files Browse the repository at this point in the history
This is the counterpart to merge_extent_hook, similarly, it's used only
for data/freespace inodes so let's remove it, rename it and call it
directly where necessary. No functional changes.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
  • Loading branch information
Nikolay Borisov authored and David Sterba committed Dec 17, 2018
1 parent 5c84819 commit abbb55f
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 20 deletions.
2 changes: 2 additions & 0 deletions fs/btrfs/ctree.h
Original file line number Diff line number Diff line change
Expand Up @@ -3156,6 +3156,8 @@ void btrfs_clear_delalloc_extent(struct inode *inode,
struct extent_state *state, unsigned *bits);
void btrfs_merge_delalloc_extent(struct inode *inode, struct extent_state *new,
struct extent_state *other);
void btrfs_split_delalloc_extent(struct inode *inode,
struct extent_state *orig, u64 split);
int btrfs_merge_bio_hook(struct page *page, unsigned long offset,
size_t size, struct bio *bio,
unsigned long bio_flags);
Expand Down
10 changes: 2 additions & 8 deletions fs/btrfs/extent_io.c
Original file line number Diff line number Diff line change
Expand Up @@ -445,13 +445,6 @@ static int insert_state(struct extent_io_tree *tree,
return 0;
}

static void split_cb(struct extent_io_tree *tree, struct extent_state *orig,
u64 split)
{
if (tree->ops && tree->ops->split_extent_hook)
tree->ops->split_extent_hook(tree->private_data, orig, split);
}

/*
* split a given extent state struct in two, inserting the preallocated
* struct 'prealloc' as the newly created second half. 'split' indicates an
Expand All @@ -471,7 +464,8 @@ static int split_state(struct extent_io_tree *tree, struct extent_state *orig,
{
struct rb_node *node;

split_cb(tree, orig, split);
if (tree->private_data && is_data_inode(tree->private_data))
btrfs_split_delalloc_extent(tree->private_data, orig, split);

prealloc->start = orig->start;
prealloc->end = split - 1;
Expand Down
6 changes: 0 additions & 6 deletions fs/btrfs/extent_io.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,12 +102,6 @@ struct extent_io_ops {
struct page *page, u64 start, u64 end,
int mirror);
int (*readpage_io_failed_hook)(struct page *page, int failed_mirror);

/*
* Optional hooks, called if the pointer is not NULL
*/
void (*split_extent_hook)(void *private_data,
struct extent_state *orig, u64 split);
};

struct extent_io_tree {
Expand Down
8 changes: 2 additions & 6 deletions fs/btrfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -1609,10 +1609,9 @@ int btrfs_run_delalloc_range(void *private_data, struct page *locked_page,
return ret;
}

static void btrfs_split_extent_hook(void *private_data,
struct extent_state *orig, u64 split)
void btrfs_split_delalloc_extent(struct inode *inode,
struct extent_state *orig, u64 split)
{
struct inode *inode = private_data;
u64 size;

/* not delalloc, ignore it */
Expand Down Expand Up @@ -10504,9 +10503,6 @@ static const struct extent_io_ops btrfs_extent_io_ops = {
.submit_bio_hook = btrfs_submit_bio_hook,
.readpage_end_io_hook = btrfs_readpage_end_io_hook,
.readpage_io_failed_hook = btrfs_readpage_io_failed_hook,

/* optional callbacks */
.split_extent_hook = btrfs_split_extent_hook,
};

/*
Expand Down

0 comments on commit abbb55f

Please sign in to comment.