|
@@ -35,8 +35,8 @@
|
|
|
#include "inode.h"
|
|
|
#include "journal.h"
|
|
|
#include "uptodate.h"
|
|
|
-
|
|
|
#include "buffer_head_io.h"
|
|
|
+#include "ocfs2_trace.h"
|
|
|
|
|
|
/*
|
|
|
* Bits on bh->b_state used by ocfs2.
|
|
@@ -55,8 +55,7 @@ int ocfs2_write_block(struct ocfs2_super *osb, struct buffer_head *bh,
|
|
|
{
|
|
|
int ret = 0;
|
|
|
|
|
|
- mlog(0, "(bh->b_blocknr = %llu, ci=%p)\n",
|
|
|
- (unsigned long long)bh->b_blocknr, ci);
|
|
|
+ trace_ocfs2_write_block((unsigned long long)bh->b_blocknr, ci);
|
|
|
|
|
|
BUG_ON(bh->b_blocknr < OCFS2_SUPER_BLOCK_BLKNO);
|
|
|
BUG_ON(buffer_jbd(bh));
|
|
@@ -107,10 +106,10 @@ int ocfs2_read_blocks_sync(struct ocfs2_super *osb, u64 block,
|
|
|
unsigned int i;
|
|
|
struct buffer_head *bh;
|
|
|
|
|
|
- if (!nr) {
|
|
|
- mlog(ML_BH_IO, "No buffers will be read!\n");
|
|
|
+ trace_ocfs2_read_blocks_sync((unsigned long long)block, nr);
|
|
|
+
|
|
|
+ if (!nr)
|
|
|
goto bail;
|
|
|
- }
|
|
|
|
|
|
for (i = 0 ; i < nr ; i++) {
|
|
|
if (bhs[i] == NULL) {
|
|
@@ -124,10 +123,8 @@ int ocfs2_read_blocks_sync(struct ocfs2_super *osb, u64 block,
|
|
|
bh = bhs[i];
|
|
|
|
|
|
if (buffer_jbd(bh)) {
|
|
|
- mlog(ML_BH_IO,
|
|
|
- "trying to sync read a jbd "
|
|
|
- "managed bh (blocknr = %llu), skipping\n",
|
|
|
- (unsigned long long)bh->b_blocknr);
|
|
|
+ trace_ocfs2_read_blocks_sync_jbd(
|
|
|
+ (unsigned long long)bh->b_blocknr);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -187,8 +184,7 @@ int ocfs2_read_blocks(struct ocfs2_caching_info *ci, u64 block, int nr,
|
|
|
struct buffer_head *bh;
|
|
|
struct super_block *sb = ocfs2_metadata_cache_get_super(ci);
|
|
|
|
|
|
- mlog(0, "(ci=%p, block=(%llu), nr=(%d), flags=%d)\n",
|
|
|
- ci, (unsigned long long)block, nr, flags);
|
|
|
+ trace_ocfs2_read_blocks_begin(ci, (unsigned long long)block, nr, flags);
|
|
|
|
|
|
BUG_ON(!ci);
|
|
|
BUG_ON((flags & OCFS2_BH_READAHEAD) &&
|
|
@@ -208,7 +204,6 @@ int ocfs2_read_blocks(struct ocfs2_caching_info *ci, u64 block, int nr,
|
|
|
}
|
|
|
|
|
|
if (nr == 0) {
|
|
|
- mlog(ML_BH_IO, "No buffers will be read!\n");
|
|
|
status = 0;
|
|
|
goto bail;
|
|
|
}
|
|
@@ -261,11 +256,10 @@ int ocfs2_read_blocks(struct ocfs2_caching_info *ci, u64 block, int nr,
|
|
|
ignore_cache = 1;
|
|
|
}
|
|
|
|
|
|
+ trace_ocfs2_read_blocks_bh((unsigned long long)bh->b_blocknr,
|
|
|
+ ignore_cache, buffer_jbd(bh), buffer_dirty(bh));
|
|
|
+
|
|
|
if (buffer_jbd(bh)) {
|
|
|
- if (ignore_cache)
|
|
|
- mlog(ML_BH_IO, "trying to sync read a jbd "
|
|
|
- "managed bh (blocknr = %llu)\n",
|
|
|
- (unsigned long long)bh->b_blocknr);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -273,9 +267,6 @@ int ocfs2_read_blocks(struct ocfs2_caching_info *ci, u64 block, int nr,
|
|
|
if (buffer_dirty(bh)) {
|
|
|
/* This should probably be a BUG, or
|
|
|
* at least return an error. */
|
|
|
- mlog(ML_BH_IO, "asking me to sync read a dirty "
|
|
|
- "buffer! (blocknr = %llu)\n",
|
|
|
- (unsigned long long)bh->b_blocknr);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -368,10 +359,8 @@ int ocfs2_read_blocks(struct ocfs2_caching_info *ci, u64 block, int nr,
|
|
|
}
|
|
|
ocfs2_metadata_cache_io_unlock(ci);
|
|
|
|
|
|
- mlog(ML_BH_IO, "block=(%llu), nr=(%d), cached=%s, flags=0x%x\n",
|
|
|
- (unsigned long long)block, nr,
|
|
|
- ((flags & OCFS2_BH_IGNORE_CACHE) || ignore_cache) ? "no" : "yes",
|
|
|
- flags);
|
|
|
+ trace_ocfs2_read_blocks_end((unsigned long long)block, nr,
|
|
|
+ flags, ignore_cache);
|
|
|
|
|
|
bail:
|
|
|
|