diff options
author | Theodore Ts'o <tytso@mit.edu> | 2008-10-05 20:50:06 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-10-05 20:50:06 -0400 |
commit | ede86cc473defab74d778aeac14b19f43129d4d1 (patch) | |
tree | 19da8009accf1737171f5949413e46a9086d5fdc /fs/ext4 | |
parent | 23f8b79eae8a74e42a006ffa7c456e295c7e1c0d (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.c | 5 | ||||
-rw-r--r-- | fs/ext4/super.c | 2 |
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) |