Message ID | 8f31c8dcf6d09d42079b9bb4164a87450d2f0adf.1712933005.git.fdmanana@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: some speedup for NOCOW write path and cleanups | expand |
在 2024/4/13 00:33, fdmanana@kernel.org 写道: > From: Filipe Manana <fdmanana@suse.com> > > All the callers of btrfs_lookup_csums_list() pass a value of 0 as the > "search_commit" parameter. So remove it and make the function behave as > to always search from the regular root. > > Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: Qu Wenruo <wqu@suse.com> The last user of search_commit was removed in commit 5dc96f8d5de9 ("btrfs: scrub: remove scrub_parity structure"), as we migrate to a bitmap based solution. Thanks, Qu > --- > fs/btrfs/file-item.c | 10 +--------- > fs/btrfs/file-item.h | 3 +-- > fs/btrfs/inode.c | 2 +- > fs/btrfs/relocation.c | 2 +- > fs/btrfs/tree-log.c | 6 +++--- > 5 files changed, 7 insertions(+), 16 deletions(-) > > diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c > index 909438540119..0712a0aa2dd0 100644 > --- a/fs/btrfs/file-item.c > +++ b/fs/btrfs/file-item.c > @@ -457,15 +457,12 @@ blk_status_t btrfs_lookup_bio_sums(struct btrfs_bio *bbio) > * @start: Logical address of target checksum range. > * @end: End offset (inclusive) of the target checksum range. > * @list: List for adding each checksum that was found. > - * @search_commit: Indicate if the commit root of the @root should be used > - * for the search. > * @nowait: Indicate if the search must be non-blocking or not. > * > * Return < 0 on error and 0 on success. > */ > int btrfs_lookup_csums_list(struct btrfs_root *root, u64 start, u64 end, > - struct list_head *list, int search_commit, > - bool nowait) > + struct list_head *list, bool nowait) > { > struct btrfs_fs_info *fs_info = root->fs_info; > struct btrfs_key key; > @@ -484,11 +481,6 @@ int btrfs_lookup_csums_list(struct btrfs_root *root, u64 start, u64 end, > return -ENOMEM; > > path->nowait = nowait; > - if (search_commit) { > - path->skip_locking = 1; > - path->reada = READA_FORWARD; > - path->search_commit_root = 1; > - } > > key.objectid = BTRFS_EXTENT_CSUM_OBJECTID; > key.offset = start; > diff --git a/fs/btrfs/file-item.h b/fs/btrfs/file-item.h > index 15c05cc0fce6..557dc43d7142 100644 > --- a/fs/btrfs/file-item.h > +++ b/fs/btrfs/file-item.h > @@ -68,8 +68,7 @@ int btrfs_lookup_csums_range(struct btrfs_root *root, u64 start, u64 end, > struct list_head *list, int search_commit, > bool nowait); > int btrfs_lookup_csums_list(struct btrfs_root *root, u64 start, u64 end, > - struct list_head *list, int search_commit, > - bool nowait); > + struct list_head *list, bool nowait); > int btrfs_lookup_csums_bitmap(struct btrfs_root *root, struct btrfs_path *path, > u64 start, u64 end, u8 *csum_buf, > unsigned long *csum_bitmap); > diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c > index 2dae4e975e80..4e67470d847a 100644 > --- a/fs/btrfs/inode.c > +++ b/fs/btrfs/inode.c > @@ -1746,7 +1746,7 @@ static noinline int csum_exist_in_range(struct btrfs_fs_info *fs_info, > LIST_HEAD(list); > > ret = btrfs_lookup_csums_list(csum_root, bytenr, bytenr + num_bytes - 1, > - &list, 0, nowait); > + &list, nowait); > if (ret == 0 && list_empty(&list)) > return 0; > > diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c > index 5b19b41f64a2..4e60364b5289 100644 > --- a/fs/btrfs/relocation.c > +++ b/fs/btrfs/relocation.c > @@ -4391,7 +4391,7 @@ int btrfs_reloc_clone_csums(struct btrfs_ordered_extent *ordered) > > ret = btrfs_lookup_csums_list(csum_root, disk_bytenr, > disk_bytenr + ordered->num_bytes - 1, > - &list, 0, false); > + &list, false); > if (ret) > return ret; > > diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c > index 4a4fca841510..e9ad2971fc7c 100644 > --- a/fs/btrfs/tree-log.c > +++ b/fs/btrfs/tree-log.c > @@ -797,7 +797,7 @@ static noinline int replay_one_extent(struct btrfs_trans_handle *trans, > > ret = btrfs_lookup_csums_list(root->log_root, > csum_start, csum_end - 1, > - &ordered_sums, 0, false); > + &ordered_sums, false); > if (ret) > goto out; > /* > @@ -4460,7 +4460,7 @@ static noinline int copy_items(struct btrfs_trans_handle *trans, > disk_bytenr += extent_offset; > ret = btrfs_lookup_csums_list(csum_root, disk_bytenr, > disk_bytenr + extent_num_bytes - 1, > - &ordered_sums, 0, false); > + &ordered_sums, false); > if (ret) > goto out; > > @@ -4655,7 +4655,7 @@ static int log_extent_csums(struct btrfs_trans_handle *trans, > csum_root = btrfs_csum_root(trans->fs_info, em->block_start); > ret = btrfs_lookup_csums_list(csum_root, em->block_start + csum_offset, > em->block_start + csum_offset + > - csum_len - 1, &ordered_sums, 0, false); > + csum_len - 1, &ordered_sums, false); > if (ret) > return ret; >
diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c index 909438540119..0712a0aa2dd0 100644 --- a/fs/btrfs/file-item.c +++ b/fs/btrfs/file-item.c @@ -457,15 +457,12 @@ blk_status_t btrfs_lookup_bio_sums(struct btrfs_bio *bbio) * @start: Logical address of target checksum range. * @end: End offset (inclusive) of the target checksum range. * @list: List for adding each checksum that was found. - * @search_commit: Indicate if the commit root of the @root should be used - * for the search. * @nowait: Indicate if the search must be non-blocking or not. * * Return < 0 on error and 0 on success. */ int btrfs_lookup_csums_list(struct btrfs_root *root, u64 start, u64 end, - struct list_head *list, int search_commit, - bool nowait) + struct list_head *list, bool nowait) { struct btrfs_fs_info *fs_info = root->fs_info; struct btrfs_key key; @@ -484,11 +481,6 @@ int btrfs_lookup_csums_list(struct btrfs_root *root, u64 start, u64 end, return -ENOMEM; path->nowait = nowait; - if (search_commit) { - path->skip_locking = 1; - path->reada = READA_FORWARD; - path->search_commit_root = 1; - } key.objectid = BTRFS_EXTENT_CSUM_OBJECTID; key.offset = start; diff --git a/fs/btrfs/file-item.h b/fs/btrfs/file-item.h index 15c05cc0fce6..557dc43d7142 100644 --- a/fs/btrfs/file-item.h +++ b/fs/btrfs/file-item.h @@ -68,8 +68,7 @@ int btrfs_lookup_csums_range(struct btrfs_root *root, u64 start, u64 end, struct list_head *list, int search_commit, bool nowait); int btrfs_lookup_csums_list(struct btrfs_root *root, u64 start, u64 end, - struct list_head *list, int search_commit, - bool nowait); + struct list_head *list, bool nowait); int btrfs_lookup_csums_bitmap(struct btrfs_root *root, struct btrfs_path *path, u64 start, u64 end, u8 *csum_buf, unsigned long *csum_bitmap); diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 2dae4e975e80..4e67470d847a 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -1746,7 +1746,7 @@ static noinline int csum_exist_in_range(struct btrfs_fs_info *fs_info, LIST_HEAD(list); ret = btrfs_lookup_csums_list(csum_root, bytenr, bytenr + num_bytes - 1, - &list, 0, nowait); + &list, nowait); if (ret == 0 && list_empty(&list)) return 0; diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 5b19b41f64a2..4e60364b5289 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -4391,7 +4391,7 @@ int btrfs_reloc_clone_csums(struct btrfs_ordered_extent *ordered) ret = btrfs_lookup_csums_list(csum_root, disk_bytenr, disk_bytenr + ordered->num_bytes - 1, - &list, 0, false); + &list, false); if (ret) return ret; diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 4a4fca841510..e9ad2971fc7c 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -797,7 +797,7 @@ static noinline int replay_one_extent(struct btrfs_trans_handle *trans, ret = btrfs_lookup_csums_list(root->log_root, csum_start, csum_end - 1, - &ordered_sums, 0, false); + &ordered_sums, false); if (ret) goto out; /* @@ -4460,7 +4460,7 @@ static noinline int copy_items(struct btrfs_trans_handle *trans, disk_bytenr += extent_offset; ret = btrfs_lookup_csums_list(csum_root, disk_bytenr, disk_bytenr + extent_num_bytes - 1, - &ordered_sums, 0, false); + &ordered_sums, false); if (ret) goto out; @@ -4655,7 +4655,7 @@ static int log_extent_csums(struct btrfs_trans_handle *trans, csum_root = btrfs_csum_root(trans->fs_info, em->block_start); ret = btrfs_lookup_csums_list(csum_root, em->block_start + csum_offset, em->block_start + csum_offset + - csum_len - 1, &ordered_sums, 0, false); + csum_len - 1, &ordered_sums, false); if (ret) return ret;