Whamcloud - gitweb
LU-11939 tgt: Do not assert during grant cleanup 15/34215/7
authorPatrick Farrell <pfarrell@whamcloud.com>
Fri, 8 Feb 2019 17:14:06 +0000 (12:14 -0500)
committerOleg Drokin <green@whamcloud.com>
Sat, 8 Feb 2020 03:59:33 +0000 (03:59 +0000)
Client/server grant inconsistencies discovered during
cleanup are indicative of a bug, but any problems they
would cause have already occurred at this point.

So do not assert during this cleanup.

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Ic9b827b1005bc321a290505a368349699ddf2f38
Reviewed-on: https://review.whamcloud.com/34215
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/target/tgt_grant.c

index 8facd60..3bcda7d 100644 (file)
@@ -1089,22 +1089,25 @@ void tgt_grant_discard(struct obd_export *exp)
 
        tgd = &lut->lut_tgd;
        spin_lock(&tgd->tgd_grant_lock);
 
        tgd = &lut->lut_tgd;
        spin_lock(&tgd->tgd_grant_lock);
-       LASSERTF(tgd->tgd_tot_granted >= ted->ted_grant,
-                "%s: tot_granted %llu cli %s/%p ted_grant %ld\n",
-                obd->obd_name, tgd->tgd_tot_granted,
-                exp->exp_client_uuid.uuid, exp, ted->ted_grant);
+       if (tgd->tgd_tot_granted < ted->ted_grant) {
+               CERROR("%s: tot_granted %llu < cli %s/%p ted_grant %ld\n",
+                      obd->obd_name, tgd->tgd_tot_granted,
+                      exp->exp_client_uuid.uuid, exp, ted->ted_grant);
+       }
        tgd->tgd_tot_granted -= ted->ted_grant;
        ted->ted_grant = 0;
        tgd->tgd_tot_granted -= ted->ted_grant;
        ted->ted_grant = 0;
-       LASSERTF(tgd->tgd_tot_pending >= ted->ted_pending,
-                "%s: tot_pending %llu cli %s/%p ted_pending %ld\n",
-                obd->obd_name, tgd->tgd_tot_pending,
-                exp->exp_client_uuid.uuid, exp, ted->ted_pending);
+       if (tgd->tgd_tot_pending < ted->ted_pending) {
+               CERROR("%s: tot_pending %llu < cli %s/%p ted_pending %ld\n",
+                      obd->obd_name, tgd->tgd_tot_pending,
+                      exp->exp_client_uuid.uuid, exp, ted->ted_pending);
+       }
        /* tgd_tot_pending is handled in tgt_grant_commit as bulk
         * commmits */
        /* tgd_tot_pending is handled in tgt_grant_commit as bulk
         * commmits */
-       LASSERTF(tgd->tgd_tot_dirty >= ted->ted_dirty,
-                "%s: tot_dirty %llu cli %s/%p ted_dirty %ld\n",
-                obd->obd_name, tgd->tgd_tot_dirty,
-                exp->exp_client_uuid.uuid, exp, ted->ted_dirty);
+       if (tgd->tgd_tot_dirty < ted->ted_dirty) {
+               CERROR("%s: tot_dirty %llu < cli %s/%p ted_dirty %ld\n",
+                      obd->obd_name, tgd->tgd_tot_dirty,
+                      exp->exp_client_uuid.uuid, exp, ted->ted_dirty);
+       }
        tgd->tgd_tot_dirty -= ted->ted_dirty;
        ted->ted_dirty = 0;
        spin_unlock(&tgd->tgd_grant_lock);
        tgd->tgd_tot_dirty -= ted->ted_dirty;
        ted->ted_dirty = 0;
        spin_unlock(&tgd->tgd_grant_lock);