gfs2: add missing log_blocks trace points in gfs2_write_revokes
authorBob Peterson <rpeterso@redhat.com>
Thu, 20 Aug 2020 13:53:29 +0000 (08:53 -0500)
committerAndreas Gruenbacher <agruenba@redhat.com>
Thu, 15 Oct 2020 12:29:03 +0000 (14:29 +0200)
Function gfs2_write_revokes was incrementing and decrementing the number
of log blocks free, but there was never a log_blocks trace point for it.
Thus, the free blocks from a log_blocks trace would jump around
mysteriously.

This patch adds the missing trace points so the trace makes more sense.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/log.c

index a83e6426e26eee092674e20848d47afb107c409f..3712059f19f94e4b4bd49aef9a0d136c4a05df6e 100644 (file)
@@ -716,16 +716,24 @@ void gfs2_write_revokes(struct gfs2_sbd *sdp)
                atomic_dec(&sdp->sd_log_blks_free);
                /* If no blocks have been reserved, we need to also
                 * reserve a block for the header */
-               if (!sdp->sd_log_blks_reserved)
+               if (!sdp->sd_log_blks_reserved) {
                        atomic_dec(&sdp->sd_log_blks_free);
+                       trace_gfs2_log_blocks(sdp, -2);
+               } else {
+                       trace_gfs2_log_blocks(sdp, -1);
+               }
        }
        gfs2_ail1_empty(sdp, max_revokes);
        gfs2_log_unlock(sdp);
 
        if (!sdp->sd_log_num_revoke) {
                atomic_inc(&sdp->sd_log_blks_free);
-               if (!sdp->sd_log_blks_reserved)
+               if (!sdp->sd_log_blks_reserved) {
                        atomic_inc(&sdp->sd_log_blks_free);
+                       trace_gfs2_log_blocks(sdp, 2);
+               } else {
+                       trace_gfs2_log_blocks(sdp, 1);
+               }
        }
 }