mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
gfs2: Fix usage of bio->bi_status in gfs2_end_log_write
bio->bi_status is an index into the blk_errors array, not an errno. Its __bitwise tag is cast away here, resulting in a sparse warning: fs/gfs2/lops.c:207:22: warning: cast from restricted blk_status_t We could either add __force to the cast and continue logging bi_status in the error message, or we could look up the errno in the array and log that. As sdp->sd_log_error is used as an errno in all other cases, look up the errno here for consistency. Signed-off-by: Andrew Price <anprice@redhat.com> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
This commit is contained in:
parent
2c63986dd3
commit
0a828c3ab0
|
|
@ -204,9 +204,11 @@ static void gfs2_end_log_write(struct bio *bio)
|
|||
struct bvec_iter_all iter_all;
|
||||
|
||||
if (bio->bi_status) {
|
||||
if (!cmpxchg(&sdp->sd_log_error, 0, (int)bio->bi_status))
|
||||
int err = blk_status_to_errno(bio->bi_status);
|
||||
|
||||
if (!cmpxchg(&sdp->sd_log_error, 0, err))
|
||||
fs_err(sdp, "Error %d writing to journal, jid=%u\n",
|
||||
bio->bi_status, sdp->sd_jdesc->jd_jid);
|
||||
err, sdp->sd_jdesc->jd_jid);
|
||||
gfs2_withdraw_delayed(sdp);
|
||||
/* prevent more writes to the journal */
|
||||
clear_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user