ext4: Add debugging markers that can be used by systemtap
This debugging markers are designed to debug problems such as the random filesystem latency problems reported by Arjan. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
#include <linux/writeback.h>
|
||||
#include <linux/jbd2.h>
|
||||
#include <linux/blkdev.h>
|
||||
#include <linux/marker.h>
|
||||
#include "ext4.h"
|
||||
#include "ext4_jbd2.h"
|
||||
|
||||
@@ -51,6 +52,10 @@ int ext4_sync_file(struct file *file, struct dentry *dentry, int datasync)
|
||||
|
||||
J_ASSERT(ext4_journal_current_handle() == NULL);
|
||||
|
||||
trace_mark(ext4_sync_file, "dev %s datasync %d ino %ld parent %ld",
|
||||
inode->i_sb->s_id, datasync, inode->i_ino,
|
||||
dentry->d_parent->d_inode->i_ino);
|
||||
|
||||
/*
|
||||
* data=writeback:
|
||||
* The caller's filemap_fdatawrite()/wait will sync the data.
|
||||
|
@@ -35,6 +35,7 @@
|
||||
#include <linux/quotaops.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/marker.h>
|
||||
#include <linux/log2.h>
|
||||
#include <linux/crc16.h>
|
||||
#include <asm/uaccess.h>
|
||||
@@ -2951,6 +2952,7 @@ static int ext4_sync_fs(struct super_block *sb, int wait)
|
||||
{
|
||||
tid_t target;
|
||||
|
||||
trace_mark(ext4_sync_fs, "dev %s wait %d", sb->s_id, wait);
|
||||
sb->s_dirt = 0;
|
||||
if (jbd2_journal_start_commit(EXT4_SB(sb)->s_journal, &target)) {
|
||||
if (wait)
|
||||
|
Reference in New Issue
Block a user