Hi,
On Fri, 2013-01-04 at 12:39 +0300, Dan Carpenter wrote:
> [ It could be that gfs2_is_jdata(ip) implies tr is non-NULL, I'm not
> familiar enough with the subsystem to say ].
>
Yes, it does. The code should not have changed, I just reorganised it,
so I guess that was enough to get this warning flagged up,
Steve.
> Hi Steven,
>
> FYI, there are new smatch warnings show up in
>
> tree: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git
> master
> head: e525d6d182bb81599fc5da017fcd23b21623630e
> commit: ef9151d84b94affb7371fbc9dd7074d1c85d6fc3 [5/9] GFS2: Copy
> gfs2_trans_add_bh into new data/meta functions
>
> + fs/gfs2/trans.c:176 databuf_lo_add() error: we previously assumed 'tr'
> could be null (see line 168)
>
> git remote add gfs2
> git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git
> git remote update gfs2
> git checkout ef9151d84b94affb7371fbc9dd7074d1c85d6fc3
> vim +/tr +176 fs/gfs2/trans.c
>
> ef9151d8 Steven Whitehouse 2012-12-14 162 static void databuf_lo_add(struct
> gfs2_sbd *sdp, struct gfs2_bufdata *bd)
> ef9151d8 Steven Whitehouse 2012-12-14 163 {
> ef9151d8 Steven Whitehouse 2012-12-14 164 struct gfs2_trans *tr =
> current->journal_info;
> ef9151d8 Steven Whitehouse 2012-12-14 165 struct address_space *mapping =
> bd->bd_bh->b_page->mapping;
> ef9151d8 Steven Whitehouse 2012-12-14 166 struct gfs2_inode *ip =
> GFS2_I(mapping->host);
> ef9151d8 Steven Whitehouse 2012-12-14 167
> ef9151d8 Steven Whitehouse 2012-12-14 @168 if (tr)
> ef9151d8 Steven Whitehouse 2012-12-14 169 tr->tr_touched = 1;
> ef9151d8 Steven Whitehouse 2012-12-14 170 if (!list_empty(&bd->bd_list))
> ef9151d8 Steven Whitehouse 2012-12-14 171 return;
> ef9151d8 Steven Whitehouse 2012-12-14 172 set_bit(GLF_LFLUSH,
> &bd->bd_gl->gl_flags);
> ef9151d8 Steven Whitehouse 2012-12-14 173 set_bit(GLF_DIRTY,
> &bd->bd_gl->gl_flags);
> ef9151d8 Steven Whitehouse 2012-12-14 174 if (gfs2_is_jdata(ip)) {
> ef9151d8 Steven Whitehouse 2012-12-14 175 gfs2_pin(sdp,
> bd->bd_bh);
> ef9151d8 Steven Whitehouse 2012-12-14 @176
> tr->tr_num_databuf_new++;
> ef9151d8 Steven Whitehouse 2012-12-14 177
> sdp->sd_log_num_databuf++;
> ef9151d8 Steven Whitehouse 2012-12-14 178
> list_add_tail(&bd->bd_list, &sdp->sd_log_le_databuf);
> ef9151d8 Steven Whitehouse 2012-12-14 179 } else {
>
> ---
> 0-DAY kernel build testing backend Open Source Technology Center
> Fengguang Wu, Yuanhan Liu Intel Corporation