From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: fdmanana@kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 4/8] btrfs: remove redundant root argument from btrfs_update_inode()
Date: Sat, 23 Sep 2023 07:34:42 +0930 [thread overview]
Message-ID: <ca188a2e-7932-4cda-be69-fe36be7e92dd@gmx.com> (raw)
In-Reply-To: <cccbd191f2e3c18c826c06a24fb2758339fdf1ba.1695333082.git.fdmanana@suse.com>
On 2023/9/22 20:07, fdmanana@kernel.org wrote:
> From: Filipe Manana <fdmanana@suse.com>
>
> The root argument for btrfs_update_inode() always matches the root of the
> given inode, so remove the root argument and get it from the inode
> argument.
>
> Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Thanks,
Qu
> ---
> fs/btrfs/block-group.c | 3 +--
> fs/btrfs/btrfs_inode.h | 2 +-
> fs/btrfs/file.c | 8 ++++----
> fs/btrfs/free-space-cache.c | 13 ++++++-------
> fs/btrfs/inode.c | 34 +++++++++++++++++-----------------
> fs/btrfs/ioctl.c | 2 +-
> fs/btrfs/reflink.c | 3 +--
> fs/btrfs/tree-log.c | 12 ++++++------
> fs/btrfs/verity.c | 4 ++--
> fs/btrfs/xattr.c | 4 ++--
> 10 files changed, 41 insertions(+), 44 deletions(-)
>
> diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
> index 2b9aaeefaf76..6e2a4000bfe0 100644
> --- a/fs/btrfs/block-group.c
> +++ b/fs/btrfs/block-group.c
> @@ -3051,7 +3051,6 @@ static int cache_save_setup(struct btrfs_block_group *block_group,
> struct btrfs_path *path)
> {
> struct btrfs_fs_info *fs_info = block_group->fs_info;
> - struct btrfs_root *root = fs_info->tree_root;
> struct inode *inode = NULL;
> struct extent_changeset *data_reserved = NULL;
> u64 alloc_hint = 0;
> @@ -3103,7 +3102,7 @@ static int cache_save_setup(struct btrfs_block_group *block_group,
> * time.
> */
> BTRFS_I(inode)->generation = 0;
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> if (ret) {
> /*
> * So theoretically we could recover from this, simply set the
> diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h
> index d12556627cce..f2c928345d53 100644
> --- a/fs/btrfs/btrfs_inode.h
> +++ b/fs/btrfs/btrfs_inode.h
> @@ -482,7 +482,7 @@ struct extent_map *btrfs_get_extent(struct btrfs_inode *inode,
> struct page *page, size_t pg_offset,
> u64 start, u64 end);
> int btrfs_update_inode(struct btrfs_trans_handle *trans,
> - struct btrfs_root *root, struct btrfs_inode *inode);
> + struct btrfs_inode *inode);
> int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
> struct btrfs_inode *inode);
> int btrfs_orphan_add(struct btrfs_trans_handle *trans, struct btrfs_inode *inode);
> diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
> index 7d6652941210..e847043defce 100644
> --- a/fs/btrfs/file.c
> +++ b/fs/btrfs/file.c
> @@ -2460,7 +2460,7 @@ int btrfs_replace_file_extents(struct btrfs_inode *inode,
> if (!extent_info || extent_info->update_times)
> inode->vfs_inode.i_mtime = inode_set_ctime_current(&inode->vfs_inode);
>
> - ret = btrfs_update_inode(trans, root, inode);
> + ret = btrfs_update_inode(trans, inode);
> if (ret)
> break;
>
> @@ -2700,7 +2700,7 @@ static int btrfs_punch_hole(struct file *file, loff_t offset, loff_t len)
> ASSERT(trans != NULL);
> inode_inc_iversion(inode);
> inode->i_mtime = inode_set_ctime_current(inode);
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> updated_inode = true;
> btrfs_end_transaction(trans);
> btrfs_btree_balance_dirty(fs_info);
> @@ -2726,7 +2726,7 @@ static int btrfs_punch_hole(struct file *file, loff_t offset, loff_t len)
> } else {
> int ret2;
>
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> ret2 = btrfs_end_transaction(trans);
> if (!ret)
> ret = ret2;
> @@ -2793,7 +2793,7 @@ static int btrfs_fallocate_update_isize(struct inode *inode,
> inode_set_ctime_current(inode);
> i_size_write(inode, end);
> btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> ret2 = btrfs_end_transaction(trans);
>
> return ret ? ret : ret2;
> diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
> index acb8ef3dd6b0..6f93c9a2c3e3 100644
> --- a/fs/btrfs/free-space-cache.c
> +++ b/fs/btrfs/free-space-cache.c
> @@ -359,7 +359,7 @@ int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans,
> if (ret)
> goto fail;
>
> - ret = btrfs_update_inode(trans, root, inode);
> + ret = btrfs_update_inode(trans, inode);
>
> fail:
> if (locked)
> @@ -1326,7 +1326,7 @@ static int __btrfs_wait_cache_io(struct btrfs_root *root,
> "failed to write free space cache for block group %llu error %d",
> block_group->start, ret);
> }
> - btrfs_update_inode(trans, root, BTRFS_I(inode));
> + btrfs_update_inode(trans, BTRFS_I(inode));
>
> if (block_group) {
> /* the dirty list is protected by the dirty_bgs_lock */
> @@ -1367,7 +1367,6 @@ int btrfs_wait_cache_io(struct btrfs_trans_handle *trans,
> /*
> * Write out cached info to an inode.
> *
> - * @root: root the inode belongs to
> * @inode: freespace inode we are writing out
> * @ctl: free space cache we are going to write out
> * @block_group: block_group for this cache if it belongs to a block_group
> @@ -1378,7 +1377,7 @@ int btrfs_wait_cache_io(struct btrfs_trans_handle *trans,
> * on mount. This will return 0 if it was successful in writing the cache out,
> * or an errno if it was not.
> */
> -static int __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode,
> +static int __btrfs_write_out_cache(struct inode *inode,
> struct btrfs_free_space_ctl *ctl,
> struct btrfs_block_group *block_group,
> struct btrfs_io_ctl *io_ctl,
> @@ -1511,7 +1510,7 @@ static int __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode,
> invalidate_inode_pages2(inode->i_mapping);
> BTRFS_I(inode)->generation = 0;
> }
> - btrfs_update_inode(trans, root, BTRFS_I(inode));
> + btrfs_update_inode(trans, BTRFS_I(inode));
> if (must_iput)
> iput(inode);
> return ret;
> @@ -1537,8 +1536,8 @@ int btrfs_write_out_cache(struct btrfs_trans_handle *trans,
> if (IS_ERR(inode))
> return 0;
>
> - ret = __btrfs_write_out_cache(fs_info->tree_root, inode, ctl,
> - block_group, &block_group->io_ctl, trans);
> + ret = __btrfs_write_out_cache(inode, ctl, block_group,
> + &block_group->io_ctl, trans);
> if (ret) {
> btrfs_debug(fs_info,
> "failed to write free space cache for block group %llu error %d",
> diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
> index 44836d1f99a9..13a97d3ce34a 100644
> --- a/fs/btrfs/inode.c
> +++ b/fs/btrfs/inode.c
> @@ -671,7 +671,7 @@ static noinline int cow_file_range_inline(struct btrfs_inode *inode, u64 size,
> }
>
> btrfs_update_inode_bytes(inode, size, drop_args.bytes_found);
> - ret = btrfs_update_inode(trans, root, inode);
> + ret = btrfs_update_inode(trans, inode);
> if (ret && ret != -ENOSPC) {
> btrfs_abort_transaction(trans, ret);
> goto out;
> @@ -4002,9 +4002,9 @@ static noinline int btrfs_update_inode_item(struct btrfs_trans_handle *trans,
> * copy everything in the in-memory inode into the btree.
> */
> int btrfs_update_inode(struct btrfs_trans_handle *trans,
> - struct btrfs_root *root,
> struct btrfs_inode *inode)
> {
> + struct btrfs_root *root = inode->root;
> struct btrfs_fs_info *fs_info = root->fs_info;
> int ret;
>
> @@ -4034,7 +4034,7 @@ int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
> {
> int ret;
>
> - ret = btrfs_update_inode(trans, inode->root, inode);
> + ret = btrfs_update_inode(trans, inode);
> if (ret == -ENOSPC)
> return btrfs_update_inode_item(trans, inode->root, inode);
> return ret;
> @@ -4143,7 +4143,7 @@ static int __btrfs_unlink_inode(struct btrfs_trans_handle *trans,
> inode_inc_iversion(&dir->vfs_inode);
> inode_set_ctime_current(&inode->vfs_inode);
> dir->vfs_inode.i_mtime = inode_set_ctime_current(&dir->vfs_inode);
> - ret = btrfs_update_inode(trans, root, dir);
> + ret = btrfs_update_inode(trans, dir);
> out:
> return ret;
> }
> @@ -4157,7 +4157,7 @@ int btrfs_unlink_inode(struct btrfs_trans_handle *trans,
> ret = __btrfs_unlink_inode(trans, dir, inode, name, NULL);
> if (!ret) {
> drop_nlink(&inode->vfs_inode);
> - ret = btrfs_update_inode(trans, inode->root, inode);
> + ret = btrfs_update_inode(trans, inode);
> }
> return ret;
> }
> @@ -4843,7 +4843,7 @@ static int maybe_insert_hole(struct btrfs_root *root, struct btrfs_inode *inode,
> btrfs_abort_transaction(trans, ret);
> } else {
> btrfs_update_inode_bytes(inode, 0, drop_args.bytes_found);
> - btrfs_update_inode(trans, root, inode);
> + btrfs_update_inode(trans, inode);
> }
> btrfs_end_transaction(trans);
> return ret;
> @@ -4994,7 +4994,7 @@ static int btrfs_setsize(struct inode *inode, struct iattr *attr)
> i_size_write(inode, newsize);
> btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
> pagecache_isize_extended(inode, oldsize, newsize);
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> btrfs_drew_write_unlock(&root->snapshot_lock);
> btrfs_end_transaction(trans);
> } else {
> @@ -6010,7 +6010,7 @@ static int btrfs_dirty_inode(struct btrfs_inode *inode)
> if (IS_ERR(trans))
> return PTR_ERR(trans);
>
> - ret = btrfs_update_inode(trans, root, inode);
> + ret = btrfs_update_inode(trans, inode);
> if (ret == -ENOSPC || ret == -EDQUOT) {
> /* whoops, lets try again with the full transaction */
> btrfs_end_transaction(trans);
> @@ -6018,7 +6018,7 @@ static int btrfs_dirty_inode(struct btrfs_inode *inode)
> if (IS_ERR(trans))
> return PTR_ERR(trans);
>
> - ret = btrfs_update_inode(trans, root, inode);
> + ret = btrfs_update_inode(trans, inode);
> }
> btrfs_end_transaction(trans);
> if (inode->delayed_node)
> @@ -6457,7 +6457,7 @@ int btrfs_add_link(struct btrfs_trans_handle *trans,
> parent_inode->vfs_inode.i_mtime =
> inode_set_ctime_current(&parent_inode->vfs_inode);
>
> - ret = btrfs_update_inode(trans, root, parent_inode);
> + ret = btrfs_update_inode(trans, parent_inode);
> if (ret)
> btrfs_abort_transaction(trans, ret);
> return ret;
> @@ -6608,7 +6608,7 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir,
> } else {
> struct dentry *parent = dentry->d_parent;
>
> - err = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + err = btrfs_update_inode(trans, BTRFS_I(inode));
> if (err)
> goto fail;
> if (inode->i_nlink == 1) {
> @@ -8349,7 +8349,7 @@ static int btrfs_truncate(struct btrfs_inode *inode, bool skip_writeback)
> if (ret != -ENOSPC && ret != -EAGAIN)
> break;
>
> - ret = btrfs_update_inode(trans, root, inode);
> + ret = btrfs_update_inode(trans, inode);
> if (ret)
> break;
>
> @@ -8402,7 +8402,7 @@ static int btrfs_truncate(struct btrfs_inode *inode, bool skip_writeback)
> int ret2;
>
> trans->block_rsv = &fs_info->trans_block_rsv;
> - ret2 = btrfs_update_inode(trans, root, inode);
> + ret2 = btrfs_update_inode(trans, inode);
> if (ret2 && !ret)
> ret = ret2;
>
> @@ -8833,7 +8833,7 @@ static int btrfs_rename_exchange(struct inode *old_dir,
> BTRFS_I(old_dentry->d_inode),
> old_name, &old_rename_ctx);
> if (!ret)
> - ret = btrfs_update_inode(trans, root, BTRFS_I(old_inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(old_inode));
> }
> if (ret) {
> btrfs_abort_transaction(trans, ret);
> @@ -8848,7 +8848,7 @@ static int btrfs_rename_exchange(struct inode *old_dir,
> BTRFS_I(new_dentry->d_inode),
> new_name, &new_rename_ctx);
> if (!ret)
> - ret = btrfs_update_inode(trans, dest, BTRFS_I(new_inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(new_inode));
> }
> if (ret) {
> btrfs_abort_transaction(trans, ret);
> @@ -9093,7 +9093,7 @@ static int btrfs_rename(struct mnt_idmap *idmap,
> BTRFS_I(d_inode(old_dentry)),
> &old_fname.disk_name, &rename_ctx);
> if (!ret)
> - ret = btrfs_update_inode(trans, root, BTRFS_I(old_inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(old_inode));
> }
> if (ret) {
> btrfs_abort_transaction(trans, ret);
> @@ -9649,7 +9649,7 @@ static int __btrfs_prealloc_file_range(struct inode *inode, int mode,
> btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
> }
>
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
>
> if (ret) {
> btrfs_abort_transaction(trans, ret);
> diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
> index 018ea98b239a..24eae7c2b3ae 100644
> --- a/fs/btrfs/ioctl.c
> +++ b/fs/btrfs/ioctl.c
> @@ -385,7 +385,7 @@ int btrfs_fileattr_set(struct mnt_idmap *idmap,
> btrfs_sync_inode_flags_to_i_flags(inode);
> inode_inc_iversion(inode);
> inode_set_ctime_current(inode);
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
>
> out_end_trans:
> btrfs_end_transaction(trans);
> diff --git a/fs/btrfs/reflink.c b/fs/btrfs/reflink.c
> index 65d2bd6910f2..fabd856e5079 100644
> --- a/fs/btrfs/reflink.c
> +++ b/fs/btrfs/reflink.c
> @@ -25,7 +25,6 @@ static int clone_finish_inode_update(struct btrfs_trans_handle *trans,
> const u64 olen,
> int no_time_update)
> {
> - struct btrfs_root *root = BTRFS_I(inode)->root;
> int ret;
>
> inode_inc_iversion(inode);
> @@ -43,7 +42,7 @@ static int clone_finish_inode_update(struct btrfs_trans_handle *trans,
> btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
> }
>
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> if (ret) {
> btrfs_abort_transaction(trans, ret);
> btrfs_end_transaction(trans);
> diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
> index 595982434216..a7bba3d61e55 100644
> --- a/fs/btrfs/tree-log.c
> +++ b/fs/btrfs/tree-log.c
> @@ -889,7 +889,7 @@ static noinline int replay_one_extent(struct btrfs_trans_handle *trans,
>
> update_inode:
> btrfs_update_inode_bytes(BTRFS_I(inode), nbytes, drop_args.bytes_found);
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> out:
> iput(inode);
> return ret;
> @@ -1444,7 +1444,7 @@ static noinline int add_inode_ref(struct btrfs_trans_handle *trans,
> if (ret)
> goto out;
>
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> if (ret)
> goto out;
> }
> @@ -1622,7 +1622,7 @@ static noinline int fixup_inode_link_count(struct btrfs_trans_handle *trans,
>
> if (nlink != inode->i_nlink) {
> set_nlink(inode, nlink);
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> if (ret)
> goto out;
> }
> @@ -1731,7 +1731,7 @@ static noinline int link_to_fixup_dir(struct btrfs_trans_handle *trans,
> set_nlink(inode, 1);
> else
> inc_nlink(inode);
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> } else if (ret == -EEXIST) {
> ret = 0;
> }
> @@ -1938,7 +1938,7 @@ static noinline int replay_one_name(struct btrfs_trans_handle *trans,
> out:
> if (!ret && update_size) {
> btrfs_i_size_write(BTRFS_I(dir), dir->i_size + name.len * 2);
> - ret = btrfs_update_inode(trans, root, BTRFS_I(dir));
> + ret = btrfs_update_inode(trans, BTRFS_I(dir));
> }
> kfree(name.name);
> iput(dir);
> @@ -2482,7 +2482,7 @@ static int replay_one_buffer(struct btrfs_root *log, struct extent_buffer *eb,
> drop_args.bytes_found);
> /* Update the inode's nbytes. */
> ret = btrfs_update_inode(wc->trans,
> - root, BTRFS_I(inode));
> + BTRFS_I(inode));
> }
> iput(inode);
> if (ret)
> diff --git a/fs/btrfs/verity.c b/fs/btrfs/verity.c
> index 744f4f4d4c68..66e2270b0dae 100644
> --- a/fs/btrfs/verity.c
> +++ b/fs/btrfs/verity.c
> @@ -487,7 +487,7 @@ static int rollback_verity(struct btrfs_inode *inode)
> }
> inode->ro_flags &= ~BTRFS_INODE_RO_VERITY;
> btrfs_sync_inode_flags_to_i_flags(&inode->vfs_inode);
> - ret = btrfs_update_inode(trans, root, inode);
> + ret = btrfs_update_inode(trans, inode);
> if (ret) {
> btrfs_abort_transaction(trans, ret);
> goto out;
> @@ -554,7 +554,7 @@ static int finish_verity(struct btrfs_inode *inode, const void *desc,
> }
> inode->ro_flags |= BTRFS_INODE_RO_VERITY;
> btrfs_sync_inode_flags_to_i_flags(&inode->vfs_inode);
> - ret = btrfs_update_inode(trans, root, inode);
> + ret = btrfs_update_inode(trans, inode);
> if (ret)
> goto end_trans;
> ret = del_orphan(trans, inode);
> diff --git a/fs/btrfs/xattr.c b/fs/btrfs/xattr.c
> index b906f809650e..76ff93b3eb27 100644
> --- a/fs/btrfs/xattr.c
> +++ b/fs/btrfs/xattr.c
> @@ -265,7 +265,7 @@ int btrfs_setxattr_trans(struct inode *inode, const char *name,
>
> inode_inc_iversion(inode);
> inode_set_ctime_current(inode);
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> if (ret)
> btrfs_abort_transaction(trans, ret);
> out:
> @@ -408,7 +408,7 @@ static int btrfs_xattr_handler_set_prop(const struct xattr_handler *handler,
> if (!ret) {
> inode_inc_iversion(inode);
> inode_set_ctime_current(inode);
> - ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
> + ret = btrfs_update_inode(trans, BTRFS_I(inode));
> if (ret)
> btrfs_abort_transaction(trans, ret);
> }
next prev parent reply other threads:[~2023-09-22 22:04 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-22 10:37 [PATCH 0/8] btrfs: some cleanups around inode update and helpers fdmanana
2023-09-22 10:37 ` [PATCH 1/8] btrfs: simplify error check condition at btrfs_dirty_inode() fdmanana
2023-09-22 22:00 ` Qu Wenruo
2023-09-22 10:37 ` [PATCH 2/8] btrfs: remove noline from btrfs_update_inode() fdmanana
2023-09-22 22:00 ` Qu Wenruo
2023-09-22 10:37 ` [PATCH 3/8] btrfs: remove redundant root argument from btrfs_update_inode_fallback() fdmanana
2023-09-22 10:37 ` [PATCH 4/8] btrfs: remove redundant root argument from btrfs_update_inode() fdmanana
2023-09-22 22:04 ` Qu Wenruo [this message]
2023-09-22 10:37 ` [PATCH 5/8] btrfs: remove redundant root argument from btrfs_update_inode_item() fdmanana
2023-09-22 22:06 ` Qu Wenruo
2023-09-22 10:37 ` [PATCH 6/8] btrfs: remove redundant root argument from btrfs_delayed_update_inode() fdmanana
2023-09-22 22:08 ` Qu Wenruo
2023-09-22 10:37 ` [PATCH 7/8] btrfs: remove redundant root argument from maybe_insert_hole() fdmanana
2023-09-22 22:09 ` Qu Wenruo
2023-09-22 10:37 ` [PATCH 8/8] btrfs: remove redundant root argument from fixup_inode_link_count() fdmanana
2023-09-22 22:11 ` Qu Wenruo
2023-09-22 13:48 ` [PATCH 0/8] btrfs: some cleanups around inode update and helpers David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ca188a2e-7932-4cda-be69-fe36be7e92dd@gmx.com \
--to=quwenruo.btrfs@gmx.com \
--cc=fdmanana@kernel.org \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox