From: Jan Kara <jack@suse.cz>
To: "zhangyi (F)" <yi.zhang@huawei.com>
Cc: linux-ext4@vger.kernel.org, tytso@mit.edu,
adilger.kernel@dilger.ca, jack@suse.cz, miaoxie@huawei.com
Subject: Re: [PATCH 1/2] jbd2: fix compile warning when using JBUFFER_TRACE
Date: Thu, 10 Jan 2019 11:28:12 +0100 [thread overview]
Message-ID: <20190110102812.GD15790@quack2.suse.cz> (raw)
In-Reply-To: <1547100399-127915-2-git-send-email-yi.zhang@huawei.com>
On Thu 10-01-19 14:06:38, zhangyi (F) wrote:
> The jh pointer may be used uninitialized in the two cases below and the
> compiler complain about it when enabling JBUFFER_TRACE macro, fix them.
>
> In file included from fs/jbd2/transaction.c:19:0:
> fs/jbd2/transaction.c: In function ‘jbd2_journal_get_undo_access’:
> ./include/linux/jbd2.h:1637:38: warning: ‘jh’ is used uninitialized in this function [-Wuninitialized]
> #define JBUFFER_TRACE(jh, info) do { printk("%s: %d\n", __func__, jh->b_jcount);} while (0)
> ^
> fs/jbd2/transaction.c:1219:23: note: ‘jh’ was declared here
> struct journal_head *jh;
> ^
> In file included from fs/jbd2/transaction.c:19:0:
> fs/jbd2/transaction.c: In function ‘jbd2_journal_dirty_metadata’:
> ./include/linux/jbd2.h:1637:38: warning: ‘jh’ may be used uninitialized in this function [-Wmaybe-uninitialized]
> #define JBUFFER_TRACE(jh, info) do { printk("%s: %d\n", __func__, jh->b_jcount);} while (0)
> ^
> fs/jbd2/transaction.c:1332:23: note: ‘jh’ was declared here
> struct journal_head *jh;
> ^
>
> Signed-off-by: zhangyi (F) <yi.zhang@huawei.com>
> Cc: stable@vger.kernel.org
> ---
> fs/jbd2/transaction.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
The patch looks good. Thanks! You can add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
>
> diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
> index c0b66a7..4b51177 100644
> --- a/fs/jbd2/transaction.c
> +++ b/fs/jbd2/transaction.c
> @@ -1219,11 +1219,12 @@ int jbd2_journal_get_undo_access(handle_t *handle, struct buffer_head *bh)
> struct journal_head *jh;
> char *committed_data = NULL;
>
> - JBUFFER_TRACE(jh, "entry");
> if (jbd2_write_access_granted(handle, bh, true))
> return 0;
>
> jh = jbd2_journal_add_journal_head(bh);
> + JBUFFER_TRACE(jh, "entry");
> +
> /*
> * Do this first --- it can drop the journal lock, so we want to
> * make sure that obtaining the committed_data is done
> @@ -1334,15 +1335,17 @@ int jbd2_journal_dirty_metadata(handle_t *handle, struct buffer_head *bh)
>
> if (is_handle_aborted(handle))
> return -EROFS;
> - if (!buffer_jbd(bh)) {
> - ret = -EUCLEAN;
> - goto out;
> - }
> + if (!buffer_jbd(bh))
> + return -EUCLEAN;
> +
> /*
> * We don't grab jh reference here since the buffer must be part
> * of the running transaction.
> */
> jh = bh2jh(bh);
> + jbd_debug(5, "journal_head %p\n", jh);
> + JBUFFER_TRACE(jh, "entry");
> +
> /*
> * This and the following assertions are unreliable since we may see jh
> * in inconsistent state unless we grab bh_state lock. But this is
> @@ -1376,9 +1379,6 @@ int jbd2_journal_dirty_metadata(handle_t *handle, struct buffer_head *bh)
> }
>
> journal = transaction->t_journal;
> - jbd_debug(5, "journal_head %p\n", jh);
> - JBUFFER_TRACE(jh, "entry");
> -
> jbd_lock_bh_state(bh);
>
> if (jh->b_modified == 0) {
> --
> 2.7.4
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
next prev parent reply other threads:[~2019-01-10 10:28 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-10 6:06 [PATCH 0/2] ext4: fix two compile problems zhangyi (F)
2019-01-10 6:06 ` [PATCH 1/2] jbd2: fix compile warning when using JBUFFER_TRACE zhangyi (F)
2019-01-10 10:28 ` Jan Kara [this message]
2019-02-21 16:28 ` Theodore Y. Ts'o
2019-01-10 6:06 ` [PATCH 2/2] ext4: fix compile error when using BUFFER_TRACE zhangyi (F)
2019-01-10 10:28 ` Jan Kara
2019-02-21 16:33 ` Theodore Y. Ts'o
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=20190110102812.GD15790@quack2.suse.cz \
--to=jack@suse.cz \
--cc=adilger.kernel@dilger.ca \
--cc=linux-ext4@vger.kernel.org \
--cc=miaoxie@huawei.com \
--cc=tytso@mit.edu \
--cc=yi.zhang@huawei.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.