Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 288835
b: refs/heads/master
c: 2b67831
h: refs/heads/master
i:
  288833: 613f1c8
  288831: 085c8b6
v: v3
  • Loading branch information
Jim Cromie authored and Greg Kroah-Hartman committed Jan 24, 2012
1 parent b1e9e20 commit dc3cf83
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7281491c594e7b8501eb5dfcf6cd3724f8a1b5b0
refs/heads/master: 2b6783191da7211c88f98eb1a2bd2027bff36e30
7 changes: 4 additions & 3 deletions trunk/Documentation/dynamic-debug-howto.txt
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,12 @@ func
func svc_tcp_accept

file
The given string is compared against either the full
pathname or the basename of the source file of each
callsite. Examples:
The given string is compared against either the full pathname, the
src-root relative pathname, or the basename of the source file of
each callsite. Examples:

file svcsock.c
file kernel/freezer.c
file /usr/src/packages/BUILD/sgi-enhancednfs-1.4/default/net/sunrpc/svcsock.c

module
Expand Down
18 changes: 15 additions & 3 deletions trunk/lib/dynamic_debug.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,17 @@ static inline const char *basename(const char *path)
return tail ? tail+1 : path;
}

/* Return the path relative to source root */
static inline const char *trim_prefix(const char *path)
{
int skip = strlen(__FILE__) - strlen("lib/dynamic_debug.c");

if (strncmp(path, __FILE__, skip))
skip = 0; /* prefix mismatch, don't skip */

return path + skip;
}

static struct { unsigned flag:8; char opt_char; } opt_array[] = {
{ _DPRINTK_FLAGS_PRINT, 'p' },
{ _DPRINTK_FLAGS_INCL_MODNAME, 'm' },
Expand Down Expand Up @@ -125,7 +136,8 @@ static void ddebug_change(const struct ddebug_query *query,
/* match against the source filename */
if (query->filename &&
strcmp(query->filename, dp->filename) &&
strcmp(query->filename, basename(dp->filename)))
strcmp(query->filename, basename(dp->filename)) &&
strcmp(query->filename, trim_prefix(dp->filename)))
continue;

/* match against the function */
Expand Down Expand Up @@ -154,7 +166,7 @@ static void ddebug_change(const struct ddebug_query *query,
dp->flags = newflags;
if (verbose)
pr_info("changed %s:%d [%s]%s =%s\n",
dp->filename, dp->lineno,
trim_prefix(dp->filename), dp->lineno,
dt->mod_name, dp->function,
ddebug_describe_flags(dp, flagbuf,
sizeof(flagbuf)));
Expand Down Expand Up @@ -714,7 +726,7 @@ static int ddebug_proc_show(struct seq_file *m, void *p)
}

seq_printf(m, "%s:%u [%s]%s =%s \"",
dp->filename, dp->lineno,
trim_prefix(dp->filename), dp->lineno,
iter->table->mod_name, dp->function,
ddebug_describe_flags(dp, flagsbuf, sizeof(flagsbuf)));
seq_escape(m, dp->format, "\t\r\n\"");
Expand Down

0 comments on commit dc3cf83

Please sign in to comment.