Whamcloud - gitweb
LU-8411 ofd: handle last_rcvd file can't update properly
[fs/lustre-release.git] / lustre / osd-ldiskfs / osd_handler.c
index 4c2e495..9265aec 100644 (file)
@@ -1804,6 +1804,7 @@ static int osd_trans_stop(const struct lu_env *env, struct dt_device *dt,
        oh->ot_quota_trans = NULL;
 
        if (oh->ot_handle != NULL) {
+               int rc2;
                 handle_t *hdl = oh->ot_handle;
 
                 /*
@@ -1827,10 +1828,12 @@ static int osd_trans_stop(const struct lu_env *env, struct dt_device *dt,
                hdl->h_sync = th->th_sync;
 
                oh->ot_handle = NULL;
-               OSD_CHECK_SLOW_TH(oh, osd, rc = ldiskfs_journal_stop(hdl));
-               if (rc != 0)
+               OSD_CHECK_SLOW_TH(oh, osd, rc2 = ldiskfs_journal_stop(hdl));
+               if (rc2 != 0)
                        CERROR("%s: failed to stop transaction: rc = %d\n",
-                              osd_name(osd), rc);
+                              osd_name(osd), rc2);
+               if (!rc)
+                       rc = rc2;
        } else {
                osd_trans_stop_cb(oh, th->th_result);
                OBD_FREE_PTR(oh);