aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2008-10-05 20:50:06 -0400
committerTheodore Ts'o <tytso@mit.edu>2008-10-05 20:50:06 -0400
commitede86cc473defab74d778aeac14b19f43129d4d1 (patch)
tree19da8009accf1737171f5949413e46a9086d5fdc /fs/ext4
parent23f8b79eae8a74e42a006ffa7c456e295c7e1c0d (diff)
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>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/fsync.c5
-rw-r--r--fs/ext4/super.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/fs/ext4/fsync.c b/fs/ext4/fsync.c
index c37d1e86f51a..5afe4370840b 100644
--- a/fs/ext4/fsync.c
+++ b/fs/ext4/fsync.c
@@ -28,6 +28,7 @@
28#include <linux/writeback.h> 28#include <linux/writeback.h>
29#include <linux/jbd2.h> 29#include <linux/jbd2.h>
30#include <linux/blkdev.h> 30#include <linux/blkdev.h>
31#include <linux/marker.h>
31#include "ext4.h" 32#include "ext4.h"
32#include "ext4_jbd2.h" 33#include "ext4_jbd2.h"
33 34
@@ -51,6 +52,10 @@ int ext4_sync_file(struct file *file, struct dentry *dentry, int datasync)
51 52
52 J_ASSERT(ext4_journal_current_handle() == NULL); 53 J_ASSERT(ext4_journal_current_handle() == NULL);
53 54
55 trace_mark(ext4_sync_file, "dev %s datasync %d ino %ld parent %ld",
56 inode->i_sb->s_id, datasync, inode->i_ino,
57 dentry->d_parent->d_inode->i_ino);
58
54 /* 59 /*
55 * data=writeback: 60 * data=writeback:
56 * The caller's filemap_fdatawrite()/wait will sync the data. 61 * The caller's filemap_fdatawrite()/wait will sync the data.
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index dfcd41fafb9f..9c0214689de0 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -35,6 +35,7 @@
35#include <linux/quotaops.h> 35#include <linux/quotaops.h>
36#include <linux/seq_file.h> 36#include <linux/seq_file.h>
37#include <linux/proc_fs.h> 37#include <linux/proc_fs.h>
38#include <linux/marker.h>
38#include <linux/log2.h> 39#include <linux/log2.h>
39#include <linux/crc16.h> 40#include <linux/crc16.h>
40#include <asm/uaccess.h> 41#include <asm/uaccess.h>
@@ -2951,6 +2952,7 @@ static int ext4_sync_fs(struct super_block *sb, int wait)
2951{ 2952{
2952 tid_t target; 2953 tid_t target;
2953 2954
2955 trace_mark(ext4_sync_fs, "dev %s wait %d", sb->s_id, wait);
2954 sb->s_dirt = 0; 2956 sb->s_dirt = 0;
2955 if (jbd2_journal_start_commit(EXT4_SB(sb)->s_journal, &target)) { 2957 if (jbd2_journal_start_commit(EXT4_SB(sb)->s_journal, &target)) {
2956 if (wait) 2958 if (wait)