[Cluster-devel] [gfs2:master 5/9] fs/gfs2/trans.c:176 databuf_lo_add() error: we previously assumed 'tr' could be null (see line 168)

Steven Whitehouse swhiteho at redhat.com
Fri Jan 4 09:51:14 UTC 2013


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





More information about the Cluster-devel mailing list