* [PATCH] btrfs: memset cur_trans->delayed_refs to zero
@ 2015-09-07 13:45 Alexandru Moise
2015-09-07 14:01 ` David Sterba
0 siblings, 1 reply; 10+ messages in thread
From: Alexandru Moise @ 2015-09-07 13:45 UTC (permalink / raw)
To: clm; +Cc: jbacik, dsterba, linux-btrfs, linux-kernel
Use memset() to null out the btrfs_delayed_ref_root of
btrfs_transaction instead of setting all the members to 0 by hand.
Signed-off-by: Alexandru Moise <00moses.alexander00@gmail.com>
---
fs/btrfs/transaction.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 8f259b3..0581fb4 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -224,15 +224,15 @@ loop:
cur_trans->start_time = get_seconds();
cur_trans->dirty_bg_run = 0;
+ memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs));
+
+ /*
+ * For now RB_ROOT means set to NULL but this could change in
+ * the future
+ */
cur_trans->delayed_refs.href_root = RB_ROOT;
cur_trans->delayed_refs.dirty_extent_root = RB_ROOT;
atomic_set(&cur_trans->delayed_refs.num_entries, 0);
- cur_trans->delayed_refs.num_heads_ready = 0;
- cur_trans->delayed_refs.pending_csums = 0;
- cur_trans->delayed_refs.num_heads = 0;
- cur_trans->delayed_refs.flushing = 0;
- cur_trans->delayed_refs.run_delayed_start = 0;
- cur_trans->delayed_refs.qgroup_to_skip = 0;
/*
* although the tree mod log is per file system and not per transaction,
--
1.9.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] btrfs: memset cur_trans->delayed_refs to zero
2015-09-07 13:45 [PATCH] btrfs: memset cur_trans->delayed_refs to zero Alexandru Moise
@ 2015-09-07 14:01 ` David Sterba
2015-09-07 14:23 ` Alexandru Moise
0 siblings, 1 reply; 10+ messages in thread
From: David Sterba @ 2015-09-07 14:01 UTC (permalink / raw)
To: Alexandru Moise; +Cc: clm, jbacik, linux-btrfs, linux-kernel
So, updated patches should mention that in the subject eg:
[PATCH v2] btrfs: memset cur_trans->delayed_refs to zero
On Mon, Sep 07, 2015 at 04:45:02PM +0300, Alexandru Moise wrote:
> Use memset() to null out the btrfs_delayed_ref_root of
> btrfs_transaction instead of setting all the members to 0 by hand.
>
> Signed-off-by: Alexandru Moise <00moses.alexander00@gmail.com>
> ---
And in this section (ie. after the first ---) put a brief description of
the changes.
> fs/btrfs/transaction.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
> index 8f259b3..0581fb4 100644
> --- a/fs/btrfs/transaction.c
> +++ b/fs/btrfs/transaction.c
> @@ -224,15 +224,15 @@ loop:
> cur_trans->start_time = get_seconds();
> cur_trans->dirty_bg_run = 0;
>
> + memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs));
> +
> + /*
> + * For now RB_ROOT means set to NULL but this could change in
> + * the future
> + */
I don't think such comment necessary, the code is clear enough without
it.
> cur_trans->delayed_refs.href_root = RB_ROOT;
> cur_trans->delayed_refs.dirty_extent_root = RB_ROOT;
.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] btrfs: memset cur_trans->delayed_refs to zero
2015-09-07 14:01 ` David Sterba
@ 2015-09-07 14:23 ` Alexandru Moise
0 siblings, 0 replies; 10+ messages in thread
From: Alexandru Moise @ 2015-09-07 14:23 UTC (permalink / raw)
To: David Sterba; +Cc: clm, jbacik, linux-btrfs, linux-kernel
On Mon, Sep 07, 2015 at 04:01:22PM +0200, David Sterba wrote:
> So, updated patches should mention that in the subject eg:
>
> [PATCH v2] btrfs: memset cur_trans->delayed_refs to zero
>
> On Mon, Sep 07, 2015 at 04:45:02PM +0300, Alexandru Moise wrote:
> > Use memset() to null out the btrfs_delayed_ref_root of
> > btrfs_transaction instead of setting all the members to 0 by hand.
> >
> > Signed-off-by: Alexandru Moise <00moses.alexander00@gmail.com>
> > ---
>
> And in this section (ie. after the first ---) put a brief description of
> the changes.
Will do.
>
> > fs/btrfs/transaction.c | 12 ++++++------
> > 1 file changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
> > index 8f259b3..0581fb4 100644
> > --- a/fs/btrfs/transaction.c
> > +++ b/fs/btrfs/transaction.c
> > @@ -224,15 +224,15 @@ loop:
> > cur_trans->start_time = get_seconds();
> > cur_trans->dirty_bg_run = 0;
> >
> > + memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs));
> > +
> > + /*
> > + * For now RB_ROOT means set to NULL but this could change in
> > + * the future
> > + */
>
> I don't think such comment necessary, the code is clear enough without
> it.
>
> > cur_trans->delayed_refs.href_root = RB_ROOT;
> > cur_trans->delayed_refs.dirty_extent_root = RB_ROOT;
>
> .
Alright I can agree to that, thanks.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH] btrfs: memset cur_trans->delayed_refs to zero
@ 2015-09-07 14:24 Alexandru Moise
2015-09-22 13:04 ` David Sterba
0 siblings, 1 reply; 10+ messages in thread
From: Alexandru Moise @ 2015-09-07 14:24 UTC (permalink / raw)
To: clm; +Cc: jbacik, dsterba, linux-btrfs, linux-kernel
Use memset() to null out the btrfs_delayed_ref_root of
btrfs_transaction instead of setting all the members to 0 by hand.
Signed-off-by: Alexandru Moise <00moses.alexander00@gmail.com>
---
Rather than setting each member of ->delayed_refs by hand we should
adhere to the practice of using memset() calls to fill those memory
locations with zeroes. We make an exception however for the rb_root
and atomic_t variable to make room for change in future delayed_refs
implementations.
fs/btrfs/transaction.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 8f259b3..e4f7dcb 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -224,15 +224,11 @@ loop:
cur_trans->start_time = get_seconds();
cur_trans->dirty_bg_run = 0;
+ memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs));
+
cur_trans->delayed_refs.href_root = RB_ROOT;
cur_trans->delayed_refs.dirty_extent_root = RB_ROOT;
atomic_set(&cur_trans->delayed_refs.num_entries, 0);
- cur_trans->delayed_refs.num_heads_ready = 0;
- cur_trans->delayed_refs.pending_csums = 0;
- cur_trans->delayed_refs.num_heads = 0;
- cur_trans->delayed_refs.flushing = 0;
- cur_trans->delayed_refs.run_delayed_start = 0;
- cur_trans->delayed_refs.qgroup_to_skip = 0;
/*
* although the tree mod log is per file system and not per transaction,
--
1.9.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] btrfs: memset cur_trans->delayed_refs to zero
2015-09-07 14:24 Alexandru Moise
@ 2015-09-22 13:04 ` David Sterba
2015-09-22 13:19 ` Alexandru Moise
0 siblings, 1 reply; 10+ messages in thread
From: David Sterba @ 2015-09-22 13:04 UTC (permalink / raw)
To: Alexandru Moise; +Cc: clm, jbacik, dsterba, linux-btrfs, linux-kernel
On Mon, Sep 07, 2015 at 05:24:37PM +0300, Alexandru Moise wrote:
> Use memset() to null out the btrfs_delayed_ref_root of
> btrfs_transaction instead of setting all the members to 0 by hand.
>
> Signed-off-by: Alexandru Moise <00moses.alexander00@gmail.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Please use the versioning in patch subject so we know which version is
the latest, like
[PATCH v4] btrfs: memset cur_trans->delayed_refs to zero
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] btrfs: memset cur_trans->delayed_refs to zero
2015-09-22 13:04 ` David Sterba
@ 2015-09-22 13:19 ` Alexandru Moise
2015-09-22 13:24 ` David Sterba
0 siblings, 1 reply; 10+ messages in thread
From: Alexandru Moise @ 2015-09-22 13:19 UTC (permalink / raw)
To: David Sterba; +Cc: clm, jbacik, linux-btrfs, linux-kernel
On Tue, Sep 22, 2015 at 03:04:54PM +0200, David Sterba wrote:
> On Mon, Sep 07, 2015 at 05:24:37PM +0300, Alexandru Moise wrote:
> > Use memset() to null out the btrfs_delayed_ref_root of
> > btrfs_transaction instead of setting all the members to 0 by hand.
> >
> > Signed-off-by: Alexandru Moise <00moses.alexander00@gmail.com>
>
> Reviewed-by: David Sterba <dsterba@suse.com>
>
> Please use the versioning in patch subject so we know which version is
> the latest, like
>
> [PATCH v4] btrfs: memset cur_trans->delayed_refs to zero
Alright, do you want me to resend it with the different subject tag
or shall I just keep that in mind for future patches?
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH] btrfs: memset cur_trans->delayed_refs to zero
@ 2015-09-06 12:25 Alexandru Moise
2015-09-07 12:24 ` David Sterba
0 siblings, 1 reply; 10+ messages in thread
From: Alexandru Moise @ 2015-09-06 12:25 UTC (permalink / raw)
To: clm; +Cc: jbacik, dsterba, linux-btrfs, linux-kernel, 00moses.alexander00
Use memset() to null out the btrfs_delayed_ref_root of
btrfs_transaction instead of setting all the members to 0 by hand.
Signed-off-by: Alexandru Moise <00moses.alexander00@gmail.com>
---
fs/btrfs/transaction.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 8f259b3..faccc1b 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -224,15 +224,7 @@ loop:
cur_trans->start_time = get_seconds();
cur_trans->dirty_bg_run = 0;
- cur_trans->delayed_refs.href_root = RB_ROOT;
- cur_trans->delayed_refs.dirty_extent_root = RB_ROOT;
- atomic_set(&cur_trans->delayed_refs.num_entries, 0);
- cur_trans->delayed_refs.num_heads_ready = 0;
- cur_trans->delayed_refs.pending_csums = 0;
- cur_trans->delayed_refs.num_heads = 0;
- cur_trans->delayed_refs.flushing = 0;
- cur_trans->delayed_refs.run_delayed_start = 0;
- cur_trans->delayed_refs.qgroup_to_skip = 0;
+ memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs));
/*
* although the tree mod log is per file system and not per transaction,
--
2.5.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] btrfs: memset cur_trans->delayed_refs to zero
2015-09-06 12:25 Alexandru Moise
@ 2015-09-07 12:24 ` David Sterba
2015-09-07 13:44 ` Alexandru Moise
0 siblings, 1 reply; 10+ messages in thread
From: David Sterba @ 2015-09-07 12:24 UTC (permalink / raw)
To: Alexandru Moise; +Cc: clm, jbacik, linux-btrfs, linux-kernel
On Sun, Sep 06, 2015 at 12:25:27PM +0000, Alexandru Moise wrote:
> Use memset() to null out the btrfs_delayed_ref_root of
> btrfs_transaction instead of setting all the members to 0 by hand.
>
> Signed-off-by: Alexandru Moise <00moses.alexander00@gmail.com>
> ---
> fs/btrfs/transaction.c | 10 +---------
> 1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
> index 8f259b3..faccc1b 100644
> --- a/fs/btrfs/transaction.c
> +++ b/fs/btrfs/transaction.c
> @@ -224,15 +224,7 @@ loop:
> cur_trans->start_time = get_seconds();
> cur_trans->dirty_bg_run = 0;
>
> - cur_trans->delayed_refs.href_root = RB_ROOT;
> - cur_trans->delayed_refs.dirty_extent_root = RB_ROOT;
> - atomic_set(&cur_trans->delayed_refs.num_entries, 0);
Please keep these. Even if it means duplicated setting to 0, it's using
the correct constructor, should it ever change (RB_ROOT) or does some
extra work (atomic_set).
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] btrfs: memset cur_trans->delayed_refs to zero
2015-09-07 12:24 ` David Sterba
@ 2015-09-07 13:44 ` Alexandru Moise
0 siblings, 0 replies; 10+ messages in thread
From: Alexandru Moise @ 2015-09-07 13:44 UTC (permalink / raw)
To: David Sterba; +Cc: clm, jbacik, linux-btrfs, linux-kernel
On Mon, Sep 07, 2015 at 02:24:20PM +0200, David Sterba wrote:
> On Sun, Sep 06, 2015 at 12:25:27PM +0000, Alexandru Moise wrote:
> > Use memset() to null out the btrfs_delayed_ref_root of
> > btrfs_transaction instead of setting all the members to 0 by hand.
> >
> > Signed-off-by: Alexandru Moise <00moses.alexander00@gmail.com>
> > ---
> > fs/btrfs/transaction.c | 10 +---------
> > 1 file changed, 1 insertion(+), 9 deletions(-)
> >
> > diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
> > index 8f259b3..faccc1b 100644
> > --- a/fs/btrfs/transaction.c
> > +++ b/fs/btrfs/transaction.c
> > @@ -224,15 +224,7 @@ loop:
> > cur_trans->start_time = get_seconds();
> > cur_trans->dirty_bg_run = 0;
> >
> > - cur_trans->delayed_refs.href_root = RB_ROOT;
> > - cur_trans->delayed_refs.dirty_extent_root = RB_ROOT;
> > - atomic_set(&cur_trans->delayed_refs.num_entries, 0);
>
> Please keep these. Even if it means duplicated setting to 0, it's using
> the correct constructor, should it ever change (RB_ROOT) or does some
> extra work (atomic_set).
Sure, I'll send off another patch right away.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-09-22 13:25 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-07 13:45 [PATCH] btrfs: memset cur_trans->delayed_refs to zero Alexandru Moise
2015-09-07 14:01 ` David Sterba
2015-09-07 14:23 ` Alexandru Moise
-- strict thread matches above, loose matches on Subject: below --
2015-09-07 14:24 Alexandru Moise
2015-09-22 13:04 ` David Sterba
2015-09-22 13:19 ` Alexandru Moise
2015-09-22 13:24 ` David Sterba
2015-09-06 12:25 Alexandru Moise
2015-09-07 12:24 ` David Sterba
2015-09-07 13:44 ` Alexandru Moise
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).