tree: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next.recovery13b head: cf2f68a84c174e525b7578e00c3eba466ff49069 commit: eb0e4ab2fe9e1b15eb5820b8e2989982f644ae28 [18/23] gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty config: c6x-allyesconfig (attached as .config) compiler: c6x-elf-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout eb0e4ab2fe9e1b15eb5820b8e2989982f644ae28 # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=c6x
If you fix the issue, kindly add following tag Reported-by: kbuild test robot <[email protected]> All errors (new ones prefixed by >>): fs/gfs2/glops.c: In function 'gfs2_ail_empty_gl': >> fs/gfs2/glops.c:109:25: error: 'struct gfs2_sbd' has no member named >> 'sd_log_le_revoke'; did you mean 'sd_log_num_revoke'? if (!list_empty(&sdp->sd_log_le_revoke)) { ^~~~~~~~~~~~~~~~ sd_log_num_revoke vim +109 fs/gfs2/glops.c 82 83 84 static void gfs2_ail_empty_gl(struct gfs2_glock *gl) 85 { 86 struct gfs2_sbd *sdp = gl->gl_name.ln_sbd; 87 struct gfs2_trans tr; 88 89 memset(&tr, 0, sizeof(tr)); 90 INIT_LIST_HEAD(&tr.tr_buf); 91 INIT_LIST_HEAD(&tr.tr_databuf); 92 set_bit(TR_ATTACHED, &tr.tr_flags); /* prevent gfs2_trans_end free */ 93 tr.tr_revokes = atomic_read(&gl->gl_ail_count); 94 95 if (!tr.tr_revokes) { 96 /* 97 * We have nothing on the ail, but there could be revokes on 98 * the sdp revoke queue, in which case, we still want to flush 99 * the log and wait for it to finish. 100 * 101 * If the sdp revoke list is empty too, we might still have an 102 * io outstanding for writing revokes, so we should wait for 103 * it before returning. 104 * 105 * If none of these conditions are true, our revokes are all 106 * flushed and we can return. 107 */ 108 gfs2_log_lock(sdp); > 109 if (!list_empty(&sdp->sd_log_le_revoke)) { 110 gfs2_log_unlock(sdp); 111 goto flush; 112 } else if (atomic_read(&sdp->sd_log_in_flight)) { 113 gfs2_log_unlock(sdp); 114 log_flush_wait(sdp); 115 } else { 116 gfs2_log_unlock(sdp); 117 } 118 return; 119 } 120 121 /* A shortened, inline version of gfs2_trans_begin() 122 * tr->alloced is not set since the transaction structure is 123 * on the stack */ 124 tr.tr_reserved = 1 + gfs2_struct2blk(sdp, tr.tr_revokes, sizeof(u64)); 125 tr.tr_ip = _RET_IP_; 126 if (gfs2_log_reserve(sdp, tr.tr_reserved) < 0) 127 return; 128 WARN_ON_ONCE(current->journal_info); 129 current->journal_info = &tr; 130 131 __gfs2_ail_flush(gl, 0, tr.tr_revokes); 132 133 gfs2_trans_end(sdp); 134 flush: 135 gfs2_log_flush(sdp, NULL, GFS2_LOG_HEAD_FLUSH_NORMAL | 136 GFS2_LFC_AIL_EMPTY_GL); 137 } 138 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/[email protected] Intel Corporation
.config.gz
Description: application/gzip
