From: Di Wang Date: Thu, 4 Feb 2016 11:23:23 +0000 (-0500) Subject: LU-7737 lod: not return -EIO during process updates log X-Git-Tag: 2.7.90~2 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F08%2F18308%2F2;p=fs%2Flustre-release.git LU-7737 lod: not return -EIO during process updates log Do not return -EIO in lod_process_updates_recovery(), otherwise the update log might be deleted incorrectly, especially when doing umount during recovery, see llog_process_thread(). Signed-off-by: Di Wang Change-Id: I822dae9984eb044ce3d63a30d8bb24294f46dd65 Reviewed-on: http://review.whamcloud.com/18308 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Mike Pershin Reviewed-by: Lai Siyao Reviewed-by: Alex Zhuravlev Reviewed-by: Oleg Drokin --- diff --git a/lustre/lod/lod_dev.c b/lustre/lod/lod_dev.c index 32f74211..7d23aae 100644 --- a/lustre/lod/lod_dev.c +++ b/lustre/lod/lod_dev.c @@ -319,7 +319,7 @@ static int lod_process_recovery_updates(const struct lu_env *env, CERROR("%s broken update record! index %u "DOSTID":%u :" " rc = %d\n", lod2obd(lrd->lrd_lod)->obd_name, index, POSTID(&llh->lgh_id.lgl_oi), rec->lrh_index, -EIO); - return -EIO; + return -EINVAL; } cookie->lgc_lgl = llh->lgh_id; @@ -333,7 +333,7 @@ static int lod_process_recovery_updates(const struct lu_env *env, if (lut->lut_obd->obd_stopping || lut->lut_obd->obd_abort_recovery) - return -EIO; + return -ESHUTDOWN; return insert_update_records_to_replay_list(lut->lut_tdtd, (struct llog_update_record *)rec,