--- a/fs/gfs2/quota.c +++ b/fs/gfs2/quota.c @@ -450,7 +450,7 @@ static int qd_check_sync(struct gfs2_sbd *sdp, struct gfs2_quota_data *qd, static int qd_fish(struct gfs2_sbd *sdp, struct gfs2_quota_data **qdp) { - struct gfs2_quota_data *qd = NULL, *iter; + struct gfs2_quota_data *qd = NULL, *iter = NULL; int error; *qdp = NULL; @@ -952,8 +952,11 @@ static int do_sync(unsigned int num_qd, struct gfs2_quota_data **qda) qd = qda[x]; offset = qd2offset(qd); error = gfs2_adjust_quota(ip, offset, qd->qd_change_sync, qd, NULL); - if (error) + if (error) { + if (!qd) + fs_info(sdp, "err: %d, qda[%d]", error, x); goto out_end_trans; + } do_qc(qd, -qd->qd_change_sync); set_bit(QDF_REFRESH, &qd->qd_flags);