ocfs2-devel.oss.oracle.com archive mirror
 help / color / mirror / Atom feed
From: Tao Ma <tm@tao.ma>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH 28/34] ocfs2: Remove masklog ML_DCACHE.
Date: Thu, 23 Dec 2010 15:31:11 +0800	[thread overview]
Message-ID: <1293089477-5019-28-git-send-email-tm@tao.ma> (raw)
In-Reply-To: <4D12F7E7.1090204@tao.ma>

From: Tao Ma <boyu.mt@taobao.com>

Remove mlog(0) from fs/ocfs2/dcache.c and the masklog DCACHE.

Signed-off-by: Tao Ma <boyu.mt@taobao.com>
---
 fs/ocfs2/cluster/masklog.c |    1 -
 fs/ocfs2/cluster/masklog.h |    1 -
 fs/ocfs2/dcache.c          |   44 +++++++-------
 fs/ocfs2/ocfs2_trace.h     |  143 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 165 insertions(+), 24 deletions(-)

diff --git a/fs/ocfs2/cluster/masklog.c b/fs/ocfs2/cluster/masklog.c
index 89cdbf8..15f6f03 100644
--- a/fs/ocfs2/cluster/masklog.c
+++ b/fs/ocfs2/cluster/masklog.c
@@ -97,7 +97,6 @@ static struct mlog_attribute mlog_attrs[MLOG_MAX_BITS] = {
 	define_mask(BH_IO),
 	define_mask(UPTODATE),
 	define_mask(VOTE),
-	define_mask(DCACHE),
 	define_mask(CONN),
 	define_mask(QUORUM),
 	define_mask(EXPORT),
diff --git a/fs/ocfs2/cluster/masklog.h b/fs/ocfs2/cluster/masklog.h
index 8a8386f..7e76559 100644
--- a/fs/ocfs2/cluster/masklog.h
+++ b/fs/ocfs2/cluster/masklog.h
@@ -99,7 +99,6 @@
 #define ML_BH_IO	0x0000000000100000ULL /* ocfs2 buffer I/O */
 #define ML_UPTODATE	0x0000000000200000ULL /* ocfs2 caching sequence #'s */
 #define ML_VOTE		0x0000000001000000ULL /* ocfs2 node messaging  */
-#define ML_DCACHE	0x0000000002000000ULL /* ocfs2 dcache operations */
 #define ML_CONN		0x0000000004000000ULL /* net connection management */
 #define ML_QUORUM	0x0000000008000000ULL /* net connection quorum */
 #define ML_EXPORT	0x0000000010000000ULL /* ocfs2 export operations */
diff --git a/fs/ocfs2/dcache.c b/fs/ocfs2/dcache.c
index 866d767..02e3998 100644
--- a/fs/ocfs2/dcache.c
+++ b/fs/ocfs2/dcache.c
@@ -28,7 +28,6 @@
 #include <linux/slab.h>
 #include <linux/namei.h>
 
-#define MLOG_MASK_PREFIX ML_DCACHE
 #include <cluster/masklog.h>
 
 #include "ocfs2.h"
@@ -39,6 +38,7 @@
 #include "file.h"
 #include "inode.h"
 #include "super.h"
+#include "ocfs2_trace.h"
 
 void ocfs2_dentry_attach_gen(struct dentry *dentry)
 {
@@ -56,8 +56,8 @@ static int ocfs2_dentry_revalidate(struct dentry *dentry,
 	int ret = 0;    /* if all else fails, just return false */
 	struct ocfs2_super *osb = OCFS2_SB(dentry->d_sb);
 
-	mlog(0, "(0x%p, '%.*s')\n", dentry,
-	     dentry->d_name.len, dentry->d_name.name);
+	trace_ocfs2_dentry_revalidate(dentry, dentry->d_name.len,
+				      dentry->d_name.name);
 
 	/* For a negative dentry -
 	 * check the generation number of the parent and compare with the
@@ -67,9 +67,10 @@ static int ocfs2_dentry_revalidate(struct dentry *dentry,
 		unsigned long gen = (unsigned long) dentry->d_fsdata;
 		unsigned long pgen =
 			OCFS2_I(dentry->d_parent->d_inode)->ip_dir_lock_gen;
-		mlog(0, "negative dentry: %.*s parent gen: %lu "
-			"dentry gen: %lu\n",
-			dentry->d_name.len, dentry->d_name.name, pgen, gen);
+
+		trace_ocfs2_dentry_revalidate_negative(dentry->d_name.len,
+						       dentry->d_name.name,
+						       pgen, gen);
 		if (gen != pgen)
 			goto bail;
 		goto valid;
@@ -84,8 +85,8 @@ static int ocfs2_dentry_revalidate(struct dentry *dentry,
 	/* did we or someone else delete this inode? */
 	if (OCFS2_I(inode)->ip_flags & OCFS2_INODE_DELETED) {
 		spin_unlock(&OCFS2_I(inode)->ip_lock);
-		mlog(0, "inode (%llu) deleted, returning false\n",
-		     (unsigned long long)OCFS2_I(inode)->ip_blkno);
+		trace_ocfs2_dentry_revalidate_delete(
+				(unsigned long long)OCFS2_I(inode)->ip_blkno);
 		goto bail;
 	}
 	spin_unlock(&OCFS2_I(inode)->ip_lock);
@@ -95,10 +96,9 @@ static int ocfs2_dentry_revalidate(struct dentry *dentry,
 	 * inode nlink hits zero, it never goes back.
 	 */
 	if (inode->i_nlink == 0) {
-		mlog(0, "Inode %llu orphaned, returning false "
-		     "dir = %d\n",
-		     (unsigned long long)OCFS2_I(inode)->ip_blkno,
-		     S_ISDIR(inode->i_mode));
+		trace_ocfs2_dentry_revalidate_orphaned(
+			(unsigned long long)OCFS2_I(inode)->ip_blkno,
+			S_ISDIR(inode->i_mode));
 		goto bail;
 	}
 
@@ -107,9 +107,8 @@ static int ocfs2_dentry_revalidate(struct dentry *dentry,
 	 * redo it.
 	 */
 	if (!dentry->d_fsdata) {
-		mlog(0, "Inode %llu doesn't have dentry lock, "
-		     "returning false\n",
-		     (unsigned long long)OCFS2_I(inode)->ip_blkno);
+		trace_ocfs2_dentry_revalidate_nofsdata(
+				(unsigned long long)OCFS2_I(inode)->ip_blkno);
 		goto bail;
 	}
 
@@ -117,7 +116,7 @@ valid:
 	ret = 1;
 
 bail:
-	mlog(0, "ret = %d\n", ret);
+	trace_ocfs2_dentry_revalidate_ret(ret);
 	return ret;
 }
 
@@ -174,8 +173,8 @@ struct dentry *ocfs2_find_local_alias(struct inode *inode,
 		dentry = list_entry(p, struct dentry, d_alias);
 
 		if (ocfs2_match_dentry(dentry, parent_blkno, skip_unhashed)) {
-			mlog(0, "dentry found: %.*s\n",
-			     dentry->d_name.len, dentry->d_name.name);
+			trace_ocfs2_find_local_alias(dentry->d_name.len,
+						     dentry->d_name.name);
 
 			dget_locked(dentry);
 			break;
@@ -231,9 +230,8 @@ int ocfs2_dentry_attach_lock(struct dentry *dentry,
 	struct dentry *alias;
 	struct ocfs2_dentry_lock *dl = dentry->d_fsdata;
 
-	mlog(0, "Attach \"%.*s\", parent %llu, fsdata: %p\n",
-	     dentry->d_name.len, dentry->d_name.name,
-	     (unsigned long long)parent_blkno, dl);
+	trace_ocfs2_dentry_attach_lock(dentry->d_name.len, dentry->d_name.name,
+				       (unsigned long long)parent_blkno, dl);
 
 	/*
 	 * Negative dentry. We ignore these for now.
@@ -283,7 +281,9 @@ int ocfs2_dentry_attach_lock(struct dentry *dentry,
 				(unsigned long long)parent_blkno,
 				(unsigned long long)dl->dl_parent_blkno);
 
-		mlog(0, "Found: %s\n", dl->dl_lockres.l_name);
+		trace_ocfs2_dentry_attach_lock_found(dl->dl_lockres.l_name,
+				(unsigned long long)parent_blkno,
+				(unsigned long long)OCFS2_I(inode)->ip_blkno);
 
 		goto out_attach;
 	}
diff --git a/fs/ocfs2/ocfs2_trace.h b/fs/ocfs2/ocfs2_trace.h
index fa424a6..61197a4 100644
--- a/fs/ocfs2/ocfs2_trace.h
+++ b/fs/ocfs2/ocfs2_trace.h
@@ -3658,6 +3658,149 @@ DEFINE_EVENT(ocfs2__dentry_ops, ocfs2_mv_orphaned_inode_to_new,
 	TP_ARGS(dir, dentry, name_len, name, dir_blkno, ino)
 );
 /* End of trace events for fs/ocfs2/namei.c. */
+
+/* Trace events for fs/ocfs2/dcache.c. */
+TRACE_EVENT(ocfs2_dentry_revalidate,
+
+	TP_PROTO(void *dentry, int len, const char *name),
+
+	TP_ARGS(dentry, len, name),
+
+	TP_STRUCT__entry(
+		__field(	void *,			dentry		)
+		__field(	int,			len		)
+		__field(	const char *,		name		)
+	),
+
+	TP_fast_assign(
+		__entry->dentry		= 	dentry;
+		__entry->len		= 	len;
+		__entry->name		= 	name;
+	),
+
+	TP_printk("%p %.*s", __entry->dentry, __entry->len, __entry->name)
+);
+
+TRACE_EVENT(ocfs2_dentry_revalidate_negative,
+
+	TP_PROTO(int len, const char *name, unsigned long pgen,
+		 unsigned long gen),
+
+	TP_ARGS(len, name, pgen, gen),
+
+	TP_STRUCT__entry(
+		__field(	int,			len		)
+		__field(	const char *,		name		)
+		__field(	unsigned long,		pgen		)
+		__field(	unsigned long,		gen		)
+	),
+
+	TP_fast_assign(
+		__entry->len		= 	len;
+		__entry->name		= 	name;
+		__entry->pgen		= 	pgen;
+		__entry->gen		= 	gen;
+	),
+
+	TP_printk("%.*s %lu %lu", __entry->len, __entry->name,
+		  __entry->pgen, __entry->gen)
+);
+
+DEFINE_EVENT(ocfs2__ull, ocfs2_dentry_revalidate_delete,
+
+	TP_PROTO(unsigned long long ino),
+
+	TP_ARGS(ino)
+);
+
+DEFINE_EVENT(ocfs2__ull_int, ocfs2_dentry_revalidate_orphaned,
+
+	TP_PROTO(unsigned long long ino, int dir),
+
+	TP_ARGS(ino, dir)
+);
+
+DEFINE_EVENT(ocfs2__ull, ocfs2_dentry_revalidate_nofsdata,
+
+	TP_PROTO(unsigned long long ino),
+
+	TP_ARGS(ino)
+);
+
+DEFINE_EVENT(ocfs2__int, ocfs2_dentry_revalidate_ret,
+
+	TP_PROTO(int ret),
+
+	TP_ARGS(ret)
+);
+
+TRACE_EVENT(ocfs2_find_local_alias,
+
+	TP_PROTO(int len, const char *name),
+
+	TP_ARGS(len, name),
+
+	TP_STRUCT__entry(
+		__field(	int,			len		)
+		__field(	const char *,		name		)
+	),
+
+	TP_fast_assign(
+		__entry->len		= 	len;
+		__entry->name		= 	name;
+	),
+
+	TP_printk("%.*s", __entry->len, __entry->name)
+);
+
+TRACE_EVENT(ocfs2_dentry_attach_lock,
+
+	TP_PROTO(int len, const char *name,
+		 unsigned long long parent, void *fsdata),
+
+	TP_ARGS(len, name, parent, fsdata),
+
+	TP_STRUCT__entry(
+		__field(	int,			len		)
+		__field(	const char *,		name		)
+		__field(	unsigned long long,	parent		)
+		__field(	void *,			fsdata		)
+	),
+
+	TP_fast_assign(
+		__entry->len		= 	len;
+		__entry->name		= 	name;
+		__entry->parent		= 	parent;
+		__entry->fsdata		= 	fsdata;
+	),
+
+	TP_printk("%.*s %llu %p", __entry->len, __entry->name,
+		  __entry->parent, __entry->fsdata)
+);
+
+TRACE_EVENT(ocfs2_dentry_attach_lock_found,
+
+	TP_PROTO(const char *name, unsigned long long parent,
+		 unsigned long long ino),
+
+	TP_ARGS(name, parent, ino),
+
+	TP_STRUCT__entry(
+		__field(	const char *,		name		)
+		__field(	unsigned long long,	parent		)
+		__field(	unsigned long long,	ino		)
+	),
+
+	TP_fast_assign(
+		__entry->name		= 	name;
+		__entry->parent		= 	parent;
+		__entry->ino		= 	ino;
+	),
+
+	TP_printk("%s %llu %llu", __entry->name, __entry->parent, __entry->ino)
+);
+
+/* End of trace events for fs/ocfs2/dcache.c. */
 #endif /* _TRACE_OCFS2_H */
 
 /* This part must be outside protection */
-- 
1.7.0.4

  parent reply	other threads:[~2010-12-23  7:31 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-23  7:19 [Ocfs2-devel] [PATCH 00/34] OCFS2: Add trace event and replace mlog(0) Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 01/34] ocfs2: Remove unused truncate function from alloc.c Tao Ma
2010-12-28 22:54   ` Mark Fasheh
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 02/34] ocfs2: Remove ENTRY from masklog Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 03/34] ocfs2: Remove EXIT " Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 04/34] ocfs2: Add ocfs2_trace.h Tao Ma
2010-12-31 12:40   ` Joel Becker
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 05/34] ocfs2: Remove mlog(0) from fs/ocfs2/alloc.c Tao Ma
2010-12-31 13:15   ` Christoph Hellwig
2010-12-31 14:27     ` Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 06/34] ocfs2: Remove mlog(0) from fs/ocfs2/localalloc.c Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 07/34] ocfs2: Remove mlog(0) from fs/ocfs2/suballoc.c Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 08/34] " Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 09/34] ocfs2: Remove DISK_ALLOC from masklog Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 10/34] ocfs2: Remove masklog ML_REFCOUNT Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 11/34] ocfs2: Remove mlog(0) from fs/ocfs2/aops.c Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 12/34] ocfs2: Remove FILE_IO from masklog Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 13/34] ocfs2: remove INODE from unused files Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 14/34] ocfs2: Remove mlog(0) from fs/ocfs2/file.c Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 15/34] ocfs2: Little refactoring against ocfs2_iget Tao Ma
2010-12-23  7:30 ` [Ocfs2-devel] [PATCH 16/34] ocfs2: Remove masklog ML_INODE Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 17/34] ocfs2: Remove masklog ML_EXTENT_MAP Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 18/34] ocfs2: Remove mlog(0) from fs/ocfs2/slot_map.c Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 19/34] ocfs2: Remove mlog(0) from fs/ocfs2/heartbeat.c Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 20/34] ocfs2: Remove masklog ML_SUPER Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 21/34] ocfs2: Remove masklog ML_XATTR Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 22/34] ocfs2: Remove masklog ML_RESERVATIONS Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 23/34] ocfs2: Remove mlog(0) from quota_local.c Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 24/34] ocfs2: Remove masklog ML_QUOTA Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 25/34] ocfs2: remove NAMEI from symlink.c Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 26/34] ocfs2: Remove mlog(0) from fs/ocfs2/dir.c Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 27/34] ocfs2: Remove masklog ML_NAMEI Tao Ma
2010-12-23  7:31 ` Tao Ma [this message]
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 29/34] ocfs2: Remove masklog ML_EXPORT Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 30/34] ocfs2: Remove masklog ML_JOURNAL Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 31/34] ocfs2: Remove masklog ML_BH_IO Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 32/34] ocfs2: Remove masklog ML_UPTODATE Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 33/34] ocfs2: Remove masklog ML_AIO Tao Ma
2010-12-23  7:31 ` [Ocfs2-devel] [PATCH 34/34] ocfs2: Make the left masklogs compat Tao Ma
2010-12-23  7:32 ` [Ocfs2-devel] [PATCH 00/34] OCFS2: Add trace event and replace mlog(0) Tao Ma
2010-12-23  8:44 ` Tao Ma
2010-12-31 12:52 ` Joel Becker
2010-12-31 15:11   ` Tao Ma
2010-12-31 22:39     ` Joel Becker
2011-01-04  9:06       ` Tao Ma
2011-01-04 18:43         ` Sunil Mushran
2011-01-04 22:15         ` Joel Becker
2011-01-04 22:33           ` Sunil Mushran
2011-01-05  2:25           ` Tao Ma
2010-12-31 13:10 ` Christoph Hellwig
2010-12-31 13:14   ` Joel Becker
2010-12-31 13:18     ` Christoph Hellwig
2011-02-14  2:53 ` Tao Ma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1293089477-5019-28-git-send-email-tm@tao.ma \
    --to=tm@tao.ma \
    --cc=ocfs2-devel@oss.oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).