Browse Source

f2fs: add a tracepoint on f2fs_new_inode

This can help when debugging the free nid allocation flows.

Reviewed-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Jaegeuk Kim 12 years ago
parent
commit
d70b4f53b9
2 changed files with 9 additions and 1 deletions
  1. 2 1
      fs/f2fs/namei.c
  2. 7 0
      include/trace/events/f2fs.h

+ 2 - 1
fs/f2fs/namei.c

@@ -63,7 +63,7 @@ static struct inode *f2fs_new_inode(struct inode *dir, umode_t mode)
 		nid_free = true;
 		goto out;
 	}
-
+	trace_f2fs_new_inode(inode, 0);
 	mark_inode_dirty(inode);
 	return inode;
 
@@ -71,6 +71,7 @@ out:
 	clear_nlink(inode);
 	unlock_new_inode(inode);
 fail:
+	trace_f2fs_new_inode(inode, err);
 	iput(inode);
 	if (nid_free)
 		alloc_nid_failed(sbi, ino);

+ 7 - 0
include/trace/events/f2fs.h

@@ -197,6 +197,13 @@ DEFINE_EVENT(f2fs__inode, f2fs_evict_inode,
 	TP_ARGS(inode)
 );
 
+DEFINE_EVENT(f2fs__inode_exit, f2fs_new_inode,
+
+	TP_PROTO(struct inode *inode, int ret),
+
+	TP_ARGS(inode, ret)
+);
+
 TRACE_EVENT(f2fs_unlink_enter,
 
 	TP_PROTO(struct inode *dir, struct dentry *dentry),