All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo@cn.fujitsu.com>
To: Jeff Mahoney <jeffm@suse.com>, <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH 03/31] btrfs: btrfs_test_opt and friends should take a btrfs_fs_info
Date: Mon, 27 Jun 2016 10:24:42 +0800	[thread overview]
Message-ID: <c0ee024a-a70e-660f-63f6-df09318a1aea@cn.fujitsu.com> (raw)
In-Reply-To: <57708DA2.3080303@suse.com>



At 06/27/2016 10:21 AM, Jeff Mahoney wrote:
> On 6/26/16 10:14 PM, Qu Wenruo wrote:
>>
>>
>> At 06/25/2016 06:14 AM, jeffm@suse.com wrote:
>>> From: Jeff Mahoney <jeffm@suse.com>
>>>
>>> btrfs_test_opt and friends only use the root pointer to access
>>> the fs_info.  Let's pass the fs_info directly in preparation to
>>> eliminate similar patterns all over btrfs.
>>>
>>> Signed-off-by: Jeff Mahoney <jeffm@suse.com>
>>> ---
>>>  fs/btrfs/ctree.h            |  22 ++++----
>>>  fs/btrfs/delayed-inode.c    |   2 +-
>>>  fs/btrfs/dev-replace.c      |   4 +-
>>>  fs/btrfs/disk-io.c          |  22 ++++----
>>>  fs/btrfs/extent-tree.c      |  32 +++++------
>>>  fs/btrfs/file.c             |   2 +-
>>>  fs/btrfs/free-space-cache.c |   6 +-
>>>  fs/btrfs/inode-map.c        |  12 ++--
>>>  fs/btrfs/inode.c            |  12 ++--
>>>  fs/btrfs/ioctl.c            |   2 +-
>>>  fs/btrfs/super.c            | 132
>>> +++++++++++++++++++++++---------------------
>>>  fs/btrfs/transaction.c      |   6 +-
>>>  fs/btrfs/tree-log.c         |   4 +-
>>>  fs/btrfs/volumes.c          |  11 ++--
>>>  14 files changed, 137 insertions(+), 132 deletions(-)
>>>
>>> diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
>>> index 101c3cf..100d2ea 100644
>>> --- a/fs/btrfs/ctree.h
>>> +++ b/fs/btrfs/ctree.h
>>> @@ -1297,21 +1297,21 @@ struct btrfs_root {
>>>  #define btrfs_clear_opt(o, opt)        ((o) &= ~BTRFS_MOUNT_##opt)
>>>  #define btrfs_set_opt(o, opt)        ((o) |= BTRFS_MOUNT_##opt)
>>>  #define btrfs_raw_test_opt(o, opt)    ((o) & BTRFS_MOUNT_##opt)
>>> -#define btrfs_test_opt(root, opt)    ((root)->fs_info->mount_opt & \
>>> +#define btrfs_test_opt(fs_info, opt)    ((fs_info)->mount_opt & \
>>>                       BTRFS_MOUNT_##opt)
>>>
>>> -#define btrfs_set_and_info(root, opt, fmt, args...)            \
>>> +#define btrfs_set_and_info(fs_info, opt, fmt, args...)            \
>>>  {                                    \
>>> -    if (!btrfs_test_opt(root, opt))                    \
>>> -        btrfs_info(root->fs_info, fmt, ##args);            \
>>> -    btrfs_set_opt(root->fs_info->mount_opt, opt);            \
>>> +    if (!btrfs_test_opt(fs_info, opt))                \
>>> +        btrfs_info(fs_info, fmt, ##args);            \
>>> +    btrfs_set_opt(fs_info->mount_opt, opt);                \
>>>  }
>>>
>>> -#define btrfs_clear_and_info(root, opt, fmt, args...)            \
>>> +#define btrfs_clear_and_info(fs_info, opt, fmt, args...)        \
>>>  {                                    \
>>> -    if (btrfs_test_opt(root, opt))                    \
>>> -        btrfs_info(root->fs_info, fmt, ##args);            \
>>> -    btrfs_clear_opt(root->fs_info->mount_opt, opt);            \
>>> +    if (btrfs_test_opt(fs_info, opt))                \
>>> +        btrfs_info(fs_info, fmt, ##args);            \
>>> +    btrfs_clear_opt(fs_info->mount_opt, opt);            \
>>>  }
>>>
>>>  #ifdef CONFIG_BTRFS_DEBUG
>>> @@ -1319,9 +1319,9 @@ static inline int
>>>  btrfs_should_fragment_free_space(struct btrfs_root *root,
>>>                   struct btrfs_block_group_cache *block_group)
>>>  {
>>> -    return (btrfs_test_opt(root, FRAGMENT_METADATA) &&
>>> +    return (btrfs_test_opt(root->fs_info, FRAGMENT_METADATA) &&
>>>          block_group->flags & BTRFS_BLOCK_GROUP_METADATA) ||
>>> -           (btrfs_test_opt(root, FRAGMENT_DATA) &&
>>> +           (btrfs_test_opt(root->fs_info, FRAGMENT_DATA) &&
>>>          block_group->flags &  BTRFS_BLOCK_GROUP_DATA);
>>>  }
>>>  #endif
>>> diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
>>> index 61561c2..ed67717 100644
>>> --- a/fs/btrfs/delayed-inode.c
>>> +++ b/fs/btrfs/delayed-inode.c
>>> @@ -653,7 +653,7 @@ static int btrfs_delayed_inode_reserve_metadata(
>>>          if (!ret)
>>>              goto out;
>>>
>>> -        if (btrfs_test_opt(root, ENOSPC_DEBUG)) {
>>> +        if (btrfs_test_opt(root->fs_info, ENOSPC_DEBUG)) {
>>>              btrfs_debug(root->fs_info,
>>>                      "block rsv migrate returned %d", ret);
>>>              WARN_ON(1);
>>> diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
>>> index 63ef9cd..e9bbff3 100644
>>> --- a/fs/btrfs/dev-replace.c
>>> +++ b/fs/btrfs/dev-replace.c
>>> @@ -142,7 +142,7 @@ no_valid_dev_replace_entry_found:
>>>           * missing
>>>           */
>>>          if (!dev_replace->srcdev &&
>>> -            !btrfs_test_opt(dev_root, DEGRADED)) {
>>> +            !btrfs_test_opt(dev_root->fs_info, DEGRADED)) {
>> Just fs_info, as following btrfs_warn() is using fs_info.
>>
>>>              ret = -EIO;
>>>              btrfs_warn(fs_info,
>>>                 "cannot mount because device replace operation is
>>> ongoing and");
>>> @@ -151,7 +151,7 @@ no_valid_dev_replace_entry_found:
>>>                 src_devid);
>>>          }
>>>          if (!dev_replace->tgtdev &&
>>> -            !btrfs_test_opt(dev_root, DEGRADED)) {
>>> +            !btrfs_test_opt(dev_root->fs_info, DEGRADED)) {
>>
>> Same here.
>>
>>>              ret = -EIO;
>>>              btrfs_warn(fs_info,
>>>                 "cannot mount because device replace operation is
>>> ongoing and");
>>> diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
>>> index 685c81a..8f27127 100644
>>> --- a/fs/btrfs/disk-io.c
>>> +++ b/fs/btrfs/disk-io.c
>>> @@ -3025,8 +3025,8 @@ retry_root_backup:
>>>      if (IS_ERR(fs_info->transaction_kthread))
>>>          goto fail_cleaner;
>>>
>>> -    if (!btrfs_test_opt(tree_root, SSD) &&
>>> -        !btrfs_test_opt(tree_root, NOSSD) &&
>>> +    if (!btrfs_test_opt(tree_root->fs_info, SSD) &&
>>> +        !btrfs_test_opt(tree_root->fs_info, NOSSD) &&
>>
>> Same fs_info here.
>>
>>>          !fs_info->fs_devices->rotating) {
>>>          btrfs_info(fs_info, "detected SSD devices, enabling SSD mode");
>>>          btrfs_set_opt(fs_info->mount_opt, SSD);
>>> @@ -3039,9 +3039,9 @@ retry_root_backup:
>>>      btrfs_apply_pending_changes(fs_info);
>>>
>>>  #ifdef CONFIG_BTRFS_FS_CHECK_INTEGRITY
>>> -    if (btrfs_test_opt(tree_root, CHECK_INTEGRITY)) {
>>> +    if (btrfs_test_opt(tree_root->fs_info, CHECK_INTEGRITY)) {
>>>          ret = btrfsic_mount(tree_root, fs_devices,
>>> -                    btrfs_test_opt(tree_root,
>>> +                    btrfs_test_opt(tree_root->fs_info,
>>
>> Same here.
>>
>>>                      CHECK_INTEGRITY_INCLUDING_EXTENT_DATA) ?
>>>                      1 : 0,
>>>                      fs_info->check_integrity_print_mask);
>>> @@ -3057,7 +3057,7 @@ retry_root_backup:
>>>
>>>      /* do not make disk changes in broken FS or nologreplay is given */
>>>      if (btrfs_super_log_root(disk_super) != 0 &&
>>> -        !btrfs_test_opt(tree_root, NOLOGREPLAY)) {
>>> +        !btrfs_test_opt(tree_root->fs_info, NOLOGREPLAY)) {
>> Same here.
>>>          ret = btrfs_replay_log(fs_info, fs_devices);
>>>          if (ret) {
>>>              err = ret;
>>> @@ -3098,7 +3098,7 @@ retry_root_backup:
>>>      if (sb->s_flags & MS_RDONLY)
>>>          return 0;
>>>
>>> -    if (btrfs_test_opt(tree_root, FREE_SPACE_TREE) &&
>>> +    if (btrfs_test_opt(tree_root->fs_info, FREE_SPACE_TREE) &&
>> Same here.
>>>          !btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE)) {
>>>          btrfs_info(fs_info, "creating free space tree");
>>>          ret = btrfs_create_free_space_tree(fs_info);
>>> @@ -3135,7 +3135,7 @@ retry_root_backup:
>>>
>>>      btrfs_qgroup_rescan_resume(fs_info);
>>>
>>> -    if (btrfs_test_opt(tree_root, CLEAR_CACHE) &&
>>> +    if (btrfs_test_opt(tree_root->fs_info, CLEAR_CACHE) &&
>>
>> Same here.
>>
>>>          btrfs_fs_compat_ro(fs_info, FREE_SPACE_TREE)) {
>>>          btrfs_info(fs_info, "clearing free space tree");
>>>          ret = btrfs_clear_free_space_tree(fs_info);
>>> @@ -3156,7 +3156,7 @@ retry_root_backup:
>>>              close_ctree(tree_root);
>>>              return ret;
>>>          }
>>> -    } else if (btrfs_test_opt(tree_root, RESCAN_UUID_TREE) ||
>>> +    } else if (btrfs_test_opt(tree_root->fs_info, RESCAN_UUID_TREE) ||
>> Same here
>>>             fs_info->generation !=
>>>                  btrfs_super_uuid_tree_generation(disk_super)) {
>>>          btrfs_info(fs_info, "checking UUID tree");
>>> @@ -3233,7 +3233,7 @@ fail:
>>>      return err;
>>>
>>>  recovery_tree_root:
>>> -    if (!btrfs_test_opt(tree_root, USEBACKUPROOT))
>>> +    if (!btrfs_test_opt(tree_root->fs_info, USEBACKUPROOT))
>> Same here, any fs_info user inside open_ctree() can directly use fs_info.
>>>          goto fail_tree_roots;
>>>
>>>      free_root_pointers(fs_info, 0);
>>> @@ -3648,7 +3648,7 @@ static int write_all_supers(struct btrfs_root
>>> *root, int max_mirrors)
>>>      int total_errors = 0;
>>>      u64 flags;
>>>
>>> -    do_barriers = !btrfs_test_opt(root, NOBARRIER);
>>> +    do_barriers = !btrfs_test_opt(root->fs_info, NOBARRIER);
>>>      backup_super_roots(root->fs_info);
>>>
>>>      sb = root->fs_info->super_for_commit;
>>> @@ -3932,7 +3932,7 @@ void close_ctree(struct btrfs_root *root)
>>>      iput(fs_info->btree_inode);
>>>
>>>  #ifdef CONFIG_BTRFS_FS_CHECK_INTEGRITY
>>> -    if (btrfs_test_opt(root, CHECK_INTEGRITY))
>>> +    if (btrfs_test_opt(root->fs_info, CHECK_INTEGRITY))
>> Same here.
>>
>> Get fs_info at the beginning of close_ctree().
>>
>>>          btrfsic_unmount(root, fs_info->fs_devices);
>>>  #endif
>>>
>>> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
>>> index 39308a8..efb5459 100644
>>> --- a/fs/btrfs/extent-tree.c
>>> +++ b/fs/btrfs/extent-tree.c
>>> @@ -3427,7 +3427,7 @@ again:
>>>
>>>      spin_lock(&block_group->lock);
>>>      if (block_group->cached != BTRFS_CACHE_FINISHED ||
>>> -        !btrfs_test_opt(root, SPACE_CACHE)) {
>>> +        !btrfs_test_opt(root->fs_info, SPACE_CACHE)) {
>>
>>>          /*
>>>           * don't bother trying to write stuff out _if_
>>>           * a) we're not cached,
>>> @@ -3504,7 +3504,7 @@ int btrfs_setup_space_cache(struct
>>> btrfs_trans_handle *trans,
>>>      struct btrfs_path *path;
>>>
>>>      if (list_empty(&cur_trans->dirty_bgs) ||
>>> -        !btrfs_test_opt(root, SPACE_CACHE))
>>> +        !btrfs_test_opt(root->fs_info, SPACE_CACHE))
>>>          return 0;
>>>
>>>      path = btrfs_alloc_path();
>>> @@ -4417,7 +4417,7 @@ void check_system_chunk(struct
>>> btrfs_trans_handle *trans,
>>>      thresh = btrfs_calc_trunc_metadata_size(root, num_devs) +
>>>          btrfs_calc_trans_metadata_size(root, 1);
>>>
>>> -    if (left < thresh && btrfs_test_opt(root, ENOSPC_DEBUG)) {
>>> +    if (left < thresh && btrfs_test_opt(root->fs_info, ENOSPC_DEBUG)) {
>>>          btrfs_info(root->fs_info, "left=%llu, need=%llu, flags=%llu",
>>>              left, thresh, type);
>>>          dump_space_info(info, 0, 0);
>>> @@ -6009,7 +6009,7 @@ static int update_block_group(struct
>>> btrfs_trans_handle *trans,
>>>          spin_lock(&cache->space_info->lock);
>>>          spin_lock(&cache->lock);
>>>
>>> -        if (btrfs_test_opt(root, SPACE_CACHE) &&
>>> +        if (btrfs_test_opt(root->fs_info, SPACE_CACHE) &&
>>
>> Same here.
>> Fs_info is extracted at the beginning of update_block_group().
>>
>>>              cache->disk_cache_state < BTRFS_DC_CLEAR)
>>>              cache->disk_cache_state = BTRFS_DC_CLEAR;
>>>
>>> @@ -6388,7 +6388,7 @@ fetch_cluster_info(struct btrfs_root *root,
>>> struct btrfs_space_info *space_info,
>>>             u64 *empty_cluster)
>>>  {
>>>      struct btrfs_free_cluster *ret = NULL;
>>> -    bool ssd = btrfs_test_opt(root, SSD);
>>> +    bool ssd = btrfs_test_opt(root->fs_info, SSD);
>>>
>>>      *empty_cluster = 0;
>>>      if (btrfs_mixed_space_info(space_info))
>>> @@ -6518,7 +6518,7 @@ int btrfs_finish_extent_commit(struct
>>> btrfs_trans_handle *trans,
>>>              break;
>>>          }
>>>
>>> -        if (btrfs_test_opt(root, DISCARD))
>>> +        if (btrfs_test_opt(root->fs_info, DISCARD))
>>
>> Same here.
>>
>>>              ret = btrfs_discard_extent(root, start,
>>>                             end + 1 - start, NULL);
>>>
>>> @@ -7737,7 +7737,7 @@ again:
>>>              if (num_bytes == min_alloc_size)
>>>                  final_tried = true;
>>>              goto again;
>>> -        } else if (btrfs_test_opt(root, ENOSPC_DEBUG)) {
>>> +        } else if (btrfs_test_opt(root->fs_info, ENOSPC_DEBUG)) {
>>>              struct btrfs_space_info *sinfo;
>>>
>>>              sinfo = __find_space_info(root->fs_info, flags);
>>> @@ -7768,7 +7768,7 @@ static int __btrfs_free_reserved_extent(struct
>>> btrfs_root *root,
>>>      if (pin)
>>>          pin_down_extent(root, cache, start, len, 1);
>>>      else {
>>> -        if (btrfs_test_opt(root, DISCARD))
>>> +        if (btrfs_test_opt(root->fs_info, DISCARD))
>>>              ret = btrfs_discard_extent(root, start, len, NULL);
>>>          btrfs_add_free_space(cache, start, len);
>>>          btrfs_update_reserved_bytes(cache, len, RESERVE_FREE, delalloc);
>>> @@ -8078,7 +8078,7 @@ again:
>>>          goto again;
>>>      }
>>>
>>> -    if (btrfs_test_opt(root, ENOSPC_DEBUG)) {
>>> +    if (btrfs_test_opt(root->fs_info, ENOSPC_DEBUG)) {
>>>          static DEFINE_RATELIMIT_STATE(_rs,
>>>                  DEFAULT_RATELIMIT_INTERVAL * 10,
>>>                  /*DEFAULT_RATELIMIT_BURST*/ 1);
>>> @@ -9510,7 +9510,7 @@ int btrfs_can_relocate(struct btrfs_root *root,
>>> u64 bytenr)
>>>      int full = 0;
>>>      int ret = 0;
>>>
>>> -    debug = btrfs_test_opt(root, ENOSPC_DEBUG);
>>> +    debug = btrfs_test_opt(root->fs_info, ENOSPC_DEBUG);
>>>
>>>      block_group = btrfs_lookup_block_group(root->fs_info, bytenr);
>>>
>>> @@ -9782,7 +9782,7 @@ int btrfs_free_block_groups(struct btrfs_fs_info
>>> *info)
>>>          space_info = list_entry(info->space_info.next,
>>>                      struct btrfs_space_info,
>>>                      list);
>>> -        if (btrfs_test_opt(info->tree_root, ENOSPC_DEBUG)) {
>>> +        if (btrfs_test_opt(info, ENOSPC_DEBUG)) {
>>>              if (WARN_ON(space_info->bytes_pinned > 0 ||
>>>                  space_info->bytes_reserved > 0 ||
>>>                  space_info->bytes_may_use > 0)) {
>>> @@ -9906,10 +9906,10 @@ int btrfs_read_block_groups(struct btrfs_root
>>> *root)
>>>      path->reada = READA_FORWARD;
>>>
>>>      cache_gen = btrfs_super_cache_generation(root->fs_info->super_copy);
>>> -    if (btrfs_test_opt(root, SPACE_CACHE) &&
>>> +    if (btrfs_test_opt(root->fs_info, SPACE_CACHE) &&
>> Same here.
>> btrfs_read_block_groups() has fs_info extracted as info.
>>
>>>          btrfs_super_generation(root->fs_info->super_copy) != cache_gen)
>>>          need_clear = 1;
>>> -    if (btrfs_test_opt(root, CLEAR_CACHE))
>>> +    if (btrfs_test_opt(root->fs_info, CLEAR_CACHE))
>> Same here
>>>          need_clear = 1;
>>>
>>>      while (1) {
>>> @@ -9940,7 +9940,7 @@ int btrfs_read_block_groups(struct btrfs_root
>>> *root)
>>>               * b) Setting 'dirty flag' makes sure that we flush
>>>               *    the new space cache info onto disk.
>>>               */
>>> -            if (btrfs_test_opt(root, SPACE_CACHE))
>>> +            if (btrfs_test_opt(root->fs_info, SPACE_CACHE))
>> Same here
>>>                  cache->disk_cache_state = BTRFS_DC_CLEAR;
>>>          }
>>>
>>> @@ -10406,7 +10406,7 @@ int btrfs_remove_block_group(struct
>>> btrfs_trans_handle *trans,
>>>      spin_lock(&block_group->space_info->lock);
>>>      list_del_init(&block_group->ro_list);
>>>
>>> -    if (btrfs_test_opt(root, ENOSPC_DEBUG)) {
>>> +    if (btrfs_test_opt(root->fs_info, ENOSPC_DEBUG)) {
>>>          WARN_ON(block_group->space_info->total_bytes
>>>              < block_group->key.offset);
>>>          WARN_ON(block_group->space_info->bytes_readonly
>>> @@ -10674,7 +10674,7 @@ void btrfs_delete_unused_bgs(struct
>>> btrfs_fs_info *fs_info)
>>>          spin_unlock(&space_info->lock);
>>>
>>>          /* DISCARD can flip during remount */
>>> -        trimming = btrfs_test_opt(root, DISCARD);
>>> +        trimming = btrfs_test_opt(root->fs_info, DISCARD);
>>>
>>>          /* Implicit trim during transaction commit. */
>>>          if (trimming)
>>> diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
>>> index e0c9bd3..ffd9001 100644
>>> --- a/fs/btrfs/file.c
>>> +++ b/fs/btrfs/file.c
>>> @@ -132,7 +132,7 @@ static int __btrfs_add_inode_defrag(struct inode
>>> *inode,
>>>
>>>  static inline int __need_auto_defrag(struct btrfs_root *root)
>>>  {
>>> -    if (!btrfs_test_opt(root, AUTO_DEFRAG))
>>> +    if (!btrfs_test_opt(root->fs_info, AUTO_DEFRAG))
>>>          return 0;
>>>
>>>      if (btrfs_fs_closing(root->fs_info))
>>> diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
>>> index 69d270f..cee2049 100644
>>> --- a/fs/btrfs/free-space-cache.c
>>> +++ b/fs/btrfs/free-space-cache.c
>>> @@ -3026,7 +3026,7 @@ int btrfs_find_space_cluster(struct btrfs_root
>>> *root,
>>>       * For metadata, allow allocates with smaller extents.  For
>>>       * data, keep it dense.
>>>       */
>>> -    if (btrfs_test_opt(root, SSD_SPREAD)) {
>>> +    if (btrfs_test_opt(root->fs_info, SSD_SPREAD)) {
>>>          cont1_bytes = min_bytes = bytes + empty_size;
>>>      } else if (block_group->flags & BTRFS_BLOCK_GROUP_METADATA) {
>>>          cont1_bytes = bytes;
>>> @@ -3470,7 +3470,7 @@ int load_free_ino_cache(struct btrfs_fs_info
>>> *fs_info, struct btrfs_root *root)
>>>      int ret = 0;
>>>      u64 root_gen = btrfs_root_generation(&root->root_item);
>>>
>>> -    if (!btrfs_test_opt(root, INODE_MAP_CACHE))
>>> +    if (!btrfs_test_opt(root->fs_info, INODE_MAP_CACHE))
>>>          return 0;
>>>
>>>      /*
>>> @@ -3514,7 +3514,7 @@ int btrfs_write_out_ino_cache(struct btrfs_root
>>> *root,
>>>      struct btrfs_io_ctl io_ctl;
>>>      bool release_metadata = true;
>>>
>>> -    if (!btrfs_test_opt(root, INODE_MAP_CACHE))
>>> +    if (!btrfs_test_opt(root->fs_info, INODE_MAP_CACHE))
>>>          return 0;
>>>
>>>      memset(&io_ctl, 0, sizeof(io_ctl));
>>> diff --git a/fs/btrfs/inode-map.c b/fs/btrfs/inode-map.c
>>> index 70107f7..e3ad8c1 100644
>>> --- a/fs/btrfs/inode-map.c
>>> +++ b/fs/btrfs/inode-map.c
>>> @@ -38,7 +38,7 @@ static int caching_kthread(void *data)
>>>      int slot;
>>>      int ret;
>>>
>>> -    if (!btrfs_test_opt(root, INODE_MAP_CACHE))
>>> +    if (!btrfs_test_opt(root->fs_info, INODE_MAP_CACHE))
>> Caching_kthread() has fs_info extracted.
>> So same here.
>>
>> Although such modification won't do anything real to the generated
>> binary, but never a bad idea to make code a little clearer.
>
> Thanks, but this is intentional to keep the patches obvious.  Patch 27
> adds and/or uses a local fs_info in every function that uses
> root->fs_info more than once.  Unfortunately, the list seems to have
> dropped it.
>
> https://git.kernel.org/cgit/linux/kernel/git/jeffm/linux-btrfs.git/commit/?h=btrfs-testing/root-fsinfo-cleanup-squashed&id=b7bccd6c7a2ac810eca8109adcdb3647a776e7de
>
> It also dropped the patch that converts everything taking a root but not
> using it for anything other than an fs_info to fs_info.
>
> https://git.kernel.org/cgit/linux/kernel/git/jeffm/linux-btrfs.git/commit/?h=btrfs-testing/root-fsinfo-cleanup-squashed&id=9cd5ae906bbb22962091aaaaa7ff4e85b03ee26d
>
> -Jeff
>
Oh, I'm sorry for that.

I'm just going through the patchset one by one.
Didn't realize that later patchset will change it.

I'd better go through the whole patchset to comment.

Thanks,
Qu



  reply	other threads:[~2016-06-27  2:24 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-24 22:14 [PATCH 00/31] btrfs: simplify use of struct btrfs_root pointers jeffm
2016-06-24 22:14 ` [PATCH 01/31] btrfs: plumb fs_info into btrfs_work jeffm
2016-06-24 22:14 ` [PATCH 02/31] btrfs: prefix fsid to all trace events jeffm
2016-06-27  1:50   ` Qu Wenruo
2016-06-24 22:14 ` [PATCH 03/31] btrfs: btrfs_test_opt and friends should take a btrfs_fs_info jeffm
2016-06-27  2:14   ` Qu Wenruo
2016-06-27  2:21     ` Jeff Mahoney
2016-06-27  2:24       ` Qu Wenruo [this message]
2016-06-24 22:14 ` [PATCH 04/31] btrfs: tests, move initialization into tests/ jeffm
2016-06-27  2:17   ` Qu Wenruo
2016-06-27  2:28     ` Jeff Mahoney
2016-06-24 22:14 ` [PATCH 05/31] btrfs: tests, require fs_info for root jeffm
2016-07-08  1:32   ` Jeff Mahoney
2016-07-08 11:20     ` David Sterba
2016-06-24 22:14 ` [PATCH 06/31] btrfs: tests, use BTRFS_FS_STATE_DUMMY_FS_INFO instead of dummy root jeffm
2016-06-24 22:15 ` [PATCH 07/31] btrfs: simpilify btrfs_subvol_inherit_props jeffm
2016-06-24 22:15 ` [PATCH 08/31] btrfs: copy_to_sk drop unused root parameter jeffm
2016-06-24 22:15 ` [PATCH 09/31] btrfs: cleanup, remove prototype for btrfs_find_root_ref jeffm
2016-06-24 22:15 ` [PATCH 10/31] btrfs: introduce BTRFS_MAX_ITEM_SIZE jeffm
2016-06-24 22:15 ` [PATCH 11/31] btrfs: convert nodesize macros to static inlines jeffm
2016-06-24 22:15 ` [PATCH 12/31] btrfs: btrfs_relocate_chunk pass extent_root to btrfs_end_transaction jeffm
2016-06-24 22:15 ` [PATCH 13/31] btrfs: add btrfs_trans_handle->fs_info pointer jeffm
2016-06-24 22:15 ` [PATCH 14/31] btrfs: btrfs_abort_transaction, drop root parameter jeffm
2016-06-24 22:15 ` [PATCH 15/31] btrfs: call functions that overwrite their root parameter with fs_info jeffm
2016-09-06 17:40   ` David Sterba
2016-06-24 22:15 ` [PATCH 16/31] btrfs: call functions that always use the same root with fs_info instead jeffm
2016-06-24 22:15 ` [PATCH 17/31] btrfs: btrfs_init_new_device should use fs_info->dev_root jeffm
2016-06-24 22:15 ` [PATCH 18/31] btrfs: alloc_reserved_file_extent trace point should use extent_root jeffm
2016-06-24 22:15 ` [PATCH 19/31] btrfs: struct btrfsic_state->root should be an fs_info jeffm
2016-06-24 22:15 ` [PATCH 20/31] btrfs: struct reada_control.root -> reada_control.fs_info jeffm
2016-06-24 22:15 ` [PATCH 21/31] btrfs: root->fs_info cleanup, use fs_info->dev_root everywhere jeffm
2016-06-24 22:15 ` [PATCH 22/31] btrfs: root->fs_info cleanup, io_ctl_init jeffm
2016-06-24 22:15 ` [PATCH 24/31] btrfs: root->fs_info cleanup, btrfs_calc_{trans,trunc}_metadata_size jeffm
2016-06-24 22:15 ` [PATCH 25/31] btrfs: root->fs_info cleanup, lock/unlock_chunks jeffm
2016-06-24 22:15 ` [PATCH 26/31] btrfs: root->fs_info cleanup, update_block_group{,flags} jeffm
2016-06-24 22:15 ` [PATCH 28/31] btrfs: root->fs_info cleanup, access fs_info->delayed_root directly jeffm
2016-06-24 22:15 ` [PATCH 30/31] btrfs: root->fs_info cleanup, btrfs_commit_transaction already has root jeffm
2016-06-24 22:15 ` [PATCH 31/31] btrfs: root->fs_info cleanup, btrfs_end_transaction{,_throttle} use trans->fs_info instead of parameter jeffm
2016-06-26 13:50 ` [PATCH 00/31] btrfs: simplify use of struct btrfs_root pointers Jeff Mahoney
2016-06-27  1:34 ` Qu Wenruo
2016-07-07 14:07 ` David Sterba
2016-07-08  1:48 ` Jeff Mahoney
2016-07-08  2:19   ` Jeff Mahoney
2016-07-08 12:50     ` 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=c0ee024a-a70e-660f-63f6-df09318a1aea@cn.fujitsu.com \
    --to=quwenruo@cn.fujitsu.com \
    --cc=jeffm@suse.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.