Loading fs/gfs2/log.c +2 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ void gfs2_ail1_flush(struct gfs2_sbd *sdp, struct writeback_control *wbc) struct list_head *head = &sdp->sd_ail1_list; struct gfs2_ail *ai; trace_gfs2_ail_flush(sdp, wbc, 1); spin_lock(&sdp->sd_ail_lock); list_for_each_entry_reverse(ai, head, ai_list) { if (wbc->nr_to_write <= 0) Loading @@ -151,6 +152,7 @@ void gfs2_ail1_flush(struct gfs2_sbd *sdp, struct writeback_control *wbc) gfs2_ail1_start_one(sdp, wbc, ai); /* This may drop ail lock */ } spin_unlock(&sdp->sd_ail_lock); trace_gfs2_ail_flush(sdp, wbc, 0); } /** Loading fs/gfs2/trace_gfs2.h +28 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ #include <linux/buffer_head.h> #include <linux/dlmconstants.h> #include <linux/gfs2_ondisk.h> #include <linux/writeback.h> #include "incore.h" #include "glock.h" Loading Loading @@ -320,6 +321,33 @@ TRACE_EVENT(gfs2_log_blocks, MINOR(__entry->dev), __entry->blocks) ); /* Writing back the AIL */ TRACE_EVENT(gfs2_ail_flush, TP_PROTO(const struct gfs2_sbd *sdp, const struct writeback_control *wbc, int start), TP_ARGS(sdp, wbc, start), TP_STRUCT__entry( __field( dev_t, dev ) __field( int, start ) __field( int, sync_mode ) __field( long, nr_to_write ) ), TP_fast_assign( __entry->dev = sdp->sd_vfs->s_dev; __entry->start = start; __entry->sync_mode = wbc->sync_mode; __entry->nr_to_write = wbc->nr_to_write; ), TP_printk("%u,%u ail flush %s %s %ld", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->start ? "start" : "end", __entry->sync_mode == WB_SYNC_ALL ? "all" : "none", __entry->nr_to_write) ); /* Section 3 - bmap * * Objectives: Loading Loading
fs/gfs2/log.c +2 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ void gfs2_ail1_flush(struct gfs2_sbd *sdp, struct writeback_control *wbc) struct list_head *head = &sdp->sd_ail1_list; struct gfs2_ail *ai; trace_gfs2_ail_flush(sdp, wbc, 1); spin_lock(&sdp->sd_ail_lock); list_for_each_entry_reverse(ai, head, ai_list) { if (wbc->nr_to_write <= 0) Loading @@ -151,6 +152,7 @@ void gfs2_ail1_flush(struct gfs2_sbd *sdp, struct writeback_control *wbc) gfs2_ail1_start_one(sdp, wbc, ai); /* This may drop ail lock */ } spin_unlock(&sdp->sd_ail_lock); trace_gfs2_ail_flush(sdp, wbc, 0); } /** Loading
fs/gfs2/trace_gfs2.h +28 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ #include <linux/buffer_head.h> #include <linux/dlmconstants.h> #include <linux/gfs2_ondisk.h> #include <linux/writeback.h> #include "incore.h" #include "glock.h" Loading Loading @@ -320,6 +321,33 @@ TRACE_EVENT(gfs2_log_blocks, MINOR(__entry->dev), __entry->blocks) ); /* Writing back the AIL */ TRACE_EVENT(gfs2_ail_flush, TP_PROTO(const struct gfs2_sbd *sdp, const struct writeback_control *wbc, int start), TP_ARGS(sdp, wbc, start), TP_STRUCT__entry( __field( dev_t, dev ) __field( int, start ) __field( int, sync_mode ) __field( long, nr_to_write ) ), TP_fast_assign( __entry->dev = sdp->sd_vfs->s_dev; __entry->start = start; __entry->sync_mode = wbc->sync_mode; __entry->nr_to_write = wbc->nr_to_write; ), TP_printk("%u,%u ail flush %s %s %ld", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->start ? "start" : "end", __entry->sync_mode == WB_SYNC_ALL ? "all" : "none", __entry->nr_to_write) ); /* Section 3 - bmap * * Objectives: Loading