[Cluster-devel] [gfs2:for-next.recovery3 2/19] fs/gfs2/lops.c:215:43: sparse: incorrect type in assignment (different base types)
kbuild test robot
lkp at intel.com
Thu Apr 4 22:19:15 UTC 2019
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next.recovery3
head: 725ee1535ef0a6ce4067347eac0c7c194ae01eae
commit: 92333b5f1f148bef6ebe737236d7b58b99f127c9 [2/19] gfs2: log error reform
reproduce:
# apt-get install sparse
git checkout 92333b5f1f148bef6ebe737236d7b58b99f127c9
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
sparse warnings: (new ones prefixed by >>)
>> fs/gfs2/lops.c:215:43: sparse: incorrect type in assignment (different base types) @@ expected int [signed] sd_log_error @@ got restricted blk_status_int [signed] sd_log_error @@
fs/gfs2/lops.c:215:43: expected int [signed] sd_log_error
fs/gfs2/lops.c:215:43: got restricted blk_status_t [usertype] bi_status
include/linux/bvec.h:166:22: sparse: expression using sizeof(void)
include/linux/bvec.h:166:22: sparse: expression using sizeof(void)
vim +215 fs/gfs2/lops.c
193
194 /**
195 * gfs2_end_log_write - end of i/o to the log
196 * @bio: The bio
197 * @error: Status of i/o request
198 *
199 * Each bio_vec contains either data from the pagecache or data
200 * relating to the log itself. Here we iterate over the bio_vec
201 * array, processing both kinds of data.
202 *
203 */
204
205 static void gfs2_end_log_write(struct bio *bio)
206 {
207 struct gfs2_sbd *sdp = bio->bi_private;
208 struct bio_vec *bvec;
209 struct page *page;
210 int i;
211 struct bvec_iter_all iter_all;
212
213 if (bio->bi_status) {
214 if (atomic_add_return(1, &sdp->sd_log_errors) == 1) {
> 215 sdp->sd_log_error = bio->bi_status;
216 fs_err(sdp, "Error %d writing to journal, jid=%u\n",
217 bio->bi_status, sdp->sd_jdesc->jd_jid);
218 }
219 wake_up(&sdp->sd_logd_waitq);
220 }
221
222 bio_for_each_segment_all(bvec, bio, i, iter_all) {
223 page = bvec->bv_page;
224 if (page_has_buffers(page))
225 gfs2_end_log_write_bh(sdp, bvec, bio->bi_status);
226 else
227 mempool_free(page, gfs2_page_pool);
228 }
229
230 bio_put(bio);
231 if (atomic_dec_and_test(&sdp->sd_log_in_flight))
232 wake_up(&sdp->sd_log_flush_wait);
233 }
234
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
More information about the Cluster-devel
mailing list