From: Liu Bo <bo.li.liu@oracle.com>
To: linux-btrfs@vger.kernel.org
Cc: Marcel Ritter <ritter.marcel@gmail.com>,
Christian Robert <christian.robert@polymtl.ca>,
alanqk@gmail.com, Konstantinos Skarlatos <k.skarlatos@gmail.com>,
David Sterba <dsterba@suse.cz>,
Martin Steigerwald <Martin@lichtvoll.de>,
Josef Bacik <jbacik@fb.com>, Chris Mason <clm@fb.com>
Subject: Re: [PATCH v9 01/16] Btrfs: disable qgroups accounting when quata_enable is 0
Date: Wed, 9 Apr 2014 16:57:56 +0800 [thread overview]
Message-ID: <20140409085756.GB23743@localhost.localdomain> (raw)
In-Reply-To: <1397027325-27151-2-git-send-email-bo.li.liu@oracle.com>
Sorry, there is a typo in the subject line, thanks cwillu for pointing it out.
s/quata/quota/g.
-liubo
On Wed, Apr 09, 2014 at 03:08:29PM +0800, Liu Bo wrote:
> It's unnecessary to do qgroups accounting without enabling quota.
>
> Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
> ---
> fs/btrfs/ctree.c | 2 +-
> fs/btrfs/delayed-ref.c | 18 ++++++++++++++----
> fs/btrfs/qgroup.c | 3 +++
> 3 files changed, 18 insertions(+), 5 deletions(-)
>
> diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
> index 88d1b1e..54f3c67 100644
> --- a/fs/btrfs/ctree.c
> +++ b/fs/btrfs/ctree.c
> @@ -406,7 +406,7 @@ u64 btrfs_get_tree_mod_seq(struct btrfs_fs_info *fs_info,
>
> tree_mod_log_write_lock(fs_info);
> spin_lock(&fs_info->tree_mod_seq_lock);
> - if (!elem->seq) {
> + if (elem && !elem->seq) {
> elem->seq = btrfs_inc_tree_mod_seq_major(fs_info);
> list_add_tail(&elem->list, &fs_info->tree_mod_seq_list);
> }
> diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
> index 3129964..3ab37b6 100644
> --- a/fs/btrfs/delayed-ref.c
> +++ b/fs/btrfs/delayed-ref.c
> @@ -656,8 +656,13 @@ add_delayed_tree_ref(struct btrfs_fs_info *fs_info,
> ref->is_head = 0;
> ref->in_tree = 1;
>
> - if (need_ref_seq(for_cow, ref_root))
> - seq = btrfs_get_tree_mod_seq(fs_info, &trans->delayed_ref_elem);
> + if (need_ref_seq(for_cow, ref_root)) {
> + struct seq_list *elem = NULL;
> +
> + if (fs_info->quota_enabled)
> + elem = &trans->delayed_ref_elem;
> + seq = btrfs_get_tree_mod_seq(fs_info, elem);
> + }
> ref->seq = seq;
>
> full_ref = btrfs_delayed_node_to_tree_ref(ref);
> @@ -718,8 +723,13 @@ add_delayed_data_ref(struct btrfs_fs_info *fs_info,
> ref->is_head = 0;
> ref->in_tree = 1;
>
> - if (need_ref_seq(for_cow, ref_root))
> - seq = btrfs_get_tree_mod_seq(fs_info, &trans->delayed_ref_elem);
> + if (need_ref_seq(for_cow, ref_root)) {
> + struct seq_list *elem = NULL;
> +
> + if (fs_info->quota_enabled)
> + elem = &trans->delayed_ref_elem;
> + seq = btrfs_get_tree_mod_seq(fs_info, elem);
> + }
> ref->seq = seq;
>
> full_ref = btrfs_delayed_node_to_data_ref(ref);
> diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
> index 2cf9058..c634b3e 100644
> --- a/fs/btrfs/qgroup.c
> +++ b/fs/btrfs/qgroup.c
> @@ -1186,6 +1186,9 @@ int btrfs_qgroup_record_ref(struct btrfs_trans_handle *trans,
> {
> struct qgroup_update *u;
>
> + if (!trans->root->fs_info->quota_enabled)
> + return 0;
> +
> BUG_ON(!trans->delayed_ref_elem.seq);
> u = kmalloc(sizeof(*u), GFP_NOFS);
> if (!u)
> --
> 1.8.2.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-04-09 8:58 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-09 7:08 [RFC PATCH v9 00/16] Online(inband) data deduplication Liu Bo
2014-04-09 7:08 ` [PATCH v9 01/16] Btrfs: disable qgroups accounting when quata_enable is 0 Liu Bo
2014-04-09 8:57 ` Liu Bo [this message]
2014-04-09 7:08 ` [PATCH v9 02/16] Btrfs: introduce dedup tree and relatives Liu Bo
2014-04-09 7:08 ` [PATCH v9 03/16] Btrfs: introduce dedup tree operations Liu Bo
2014-04-09 7:08 ` [PATCH v9 04/16] Btrfs: introduce dedup state Liu Bo
2014-04-09 7:08 ` [PATCH v9 05/16] Btrfs: make ordered extent aware of dedup Liu Bo
2014-04-09 7:08 ` [PATCH v9 06/16] Btrfs: online(inband) data dedup Liu Bo
2014-04-09 7:08 ` [PATCH v9 07/16] Btrfs: skip dedup reference during backref walking Liu Bo
2014-04-09 7:08 ` [PATCH v9 08/16] Btrfs: don't return space for dedup extent Liu Bo
2014-04-09 7:08 ` [PATCH v9 09/16] Btrfs: add ioctl of dedup control Liu Bo
2014-04-09 7:08 ` [PATCH v9 10/16] Btrfs: improve the delayed refs process in rm case Liu Bo
2014-04-09 7:08 ` [PATCH v9 11/16] Btrfs: fix a crash of dedup ref Liu Bo
2014-04-09 7:08 ` [PATCH v9 12/16] Btrfs: fix deadlock of dedup work Liu Bo
2014-04-09 7:08 ` [PATCH v9 13/16] Btrfs: fix transactin abortion in __btrfs_free_extent Liu Bo
2014-04-09 7:08 ` [PATCH v9 14/16] Btrfs: fix wrong pinned bytes " Liu Bo
2014-04-09 7:08 ` [PATCH v9 15/16] Btrfs: use total_bytes instead of bytes_used for global_rsv Liu Bo
2014-04-09 7:08 ` [PATCH v9 16/16] Btrfs: fix dedup enospc problem Liu Bo
2014-04-09 7:08 ` [PATCH v4] Btrfs-progs: add dedup subcommand Liu Bo
2014-04-09 10:10 ` [PATCH v5] " Liu Bo
2014-04-09 10:14 ` Liu Bo
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=20140409085756.GB23743@localhost.localdomain \
--to=bo.li.liu@oracle.com \
--cc=Martin@lichtvoll.de \
--cc=alanqk@gmail.com \
--cc=christian.robert@polymtl.ca \
--cc=clm@fb.com \
--cc=dsterba@suse.cz \
--cc=jbacik@fb.com \
--cc=k.skarlatos@gmail.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=ritter.marcel@gmail.com \
/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.