xfs
[Top] [All Lists]

Re: SGI XFS on ppc

To: Thomas Graichen <graichen@xxxxxxxxxxxxx>, thomas.graichen@xxxxxxxxxxxxx
Subject: Re: SGI XFS on ppc
From: Steve Lord <lord@xxxxxxx>
Date: Wed, 02 Aug 2000 05:37:42 -0500
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: Your message of "02 Aug 2000 08:30:31 GMT
Sender: owner-linux-xfs-announce@xxxxxxxxxxx
> 
> ok will try this too - here is how far i am so far (trying to get it
> going on x86 first because right now i have no ppc close - will try
> that this evening) - please have a short look at it - something is
> wrong with the event thing (int in pb_trace_func but called as char)
> - maybe i completely srewed it up - then please don't shoot me :-)
> 
> ok - here's a diff so far to get page_buf tracing without kdb and after
> the diff is a sample output - any hints whats wrong here (the event
> stuff is wrong)? - otherwise i'll look closer to it later ... looks
> like i have mixed up the events between the kdb and the pb_trace_func
> part a bit ...
> 

Try changing include/linux/page_buf_trace.h to look like this:

*** /usr/tmp/TmpDir.5088-0/linux/include/linux/page_buf_trace.h_1.9     Wed Aug 
 2 06:32:45 2000
--- linux/include/linux/page_buf_trace.h        Wed Aug  2 05:31:23 2000
***************
*** 32,39 ****
  
  #ident "$Id:  $"
  
- #ifndef _PAGEBUF_TRACE_INC_
- #define _PAGEBUF_TRACE_INC_
  
  #ifdef PB_DEFINE_TRACES
  #define PB_TRACE_START        typedef enum {
--- 32,37 ----
***************
*** 84,89 ****
--- 82,94 ----
  PB_TRACE_REC(file_write),
  PB_TRACE_END
  
+ #ifndef PB_DEFINE_TRACES
+ #undef PB_TRACE_START
+ #undef PB_TRACE_REC(x)
+ #undef PB_TRACE_END
+ #endif
+ 
+ 
  extern void pb_trace_func(page_buf_t *, int, void *, void *);
  #ifdef PAGEBUF_TRACE
  #ifdef _PAGE_BUF_INTERNAL_
***************
*** 104,107 ****
  #endif
  
  
- #endif
--- 109,111 ----

As it stands it can only be included once, you are including it twice,
once to get the event_names array and once to declare the enumerated
type. You actually need both - you are probably getting warnings like
this when building pagebuf:

page_buf.c: In function `pagebuf_rele':
page_buf.c:976: warning: passing arg 2 of `pb_trace_func' makes integer from 
pointer without a cast

this is because you are passing the string into pb_trace_fun rather than
the enumerated type.

Steve

p.s. from the trace you are completing the read of the super block


<Prev in Thread] Current Thread [Next in Thread>