On Tue, 2006-12-19 at 17:22 +0100, Jens Axboe wrote:
> On Tue, Dec 19 2006, Ming Zhang wrote:
> > On Tue, 2006-12-19 at 15:24 +0100, Jens Axboe wrote:
> > > On Tue, Dec 19 2006, Ming Zhang wrote:
> > > > On Tue, 2006-12-19 at 15:20 +0100, Jens Axboe wrote:
> > > > > On Tue, Dec 19 2006, Ming Zhang wrote:
> > > > > > On Tue, 2006-12-19 at 08:17 +0100, Jens Axboe wrote:
> > > > > > > On Mon, Dec 18 2006, Ming Zhang wrote:
> > > > > > > > On Mon, 2006-12-18 at 10:54 -0500, Alan D. Brunelle wrote:
> > > > > > > > > (Hopefully this works better than my last patch attempt - 
> > > > > > > > > Jens: the 
> > > > > > > > > other patches got put on the back burner for some 
> > > > > > > > > work-related stuff, 
> > > > > > > > > I'll get to those in the New Year.)
> > > > > > > > > 
> > > > > > > > > Alan
> > > > > > > > > plain text document attachment (bp-fix-empties)
> > > > > > > > > Fix problem where empty input files cause premature parsing 
> > > > > > > > > of files.
> > > > > > > > > 
> > > > > > > > > From: Alan D. Brunelle <[EMAIL PROTECTED]>
> > > > > > > > > 
> > > > > > > > > Had a problem where CPU 0 opened a file with 0 traces, and 
> > > > > > > > > that caused the
> > > > > > > > > run to end before processing other trace files.
> > > > > > > > > ---
> > > > > > > > > 
> > > > > > > > >  blkparse.c |    4 +++-
> > > > > > > > >  1 files changed, 3 insertions(+), 1 deletions(-)
> > > > > > > > > 
> > > > > > > > > diff --git a/blkparse.c b/blkparse.c
> > > > > > > > > index bded2f8..0d2ea12 100644
> > > > > > > > > --- a/blkparse.c
> > > > > > > > > +++ b/blkparse.c
> > > > > > > > > @@ -2249,8 +2249,10 @@ static int setup_file(struct 
> > > > > > > > > per_dev_inf
> > > > > > > > >  
> > > > > > > > >       snprintf(pci->fname + len, sizeof(pci->fname)-1-len,
> > > > > > > > >                "%s.blktrace.%d", pdi->name, pci->cpu);
> > > > > > > > > -     if (stat(pci->fname, &st) < 0 || !st.st_size)
> > > > > > > > > +     if (stat(pci->fname, &st) < 0)
> > > > > > > > >               return 0;
> > > > > > > > > +     if (!st.st_size)
> > > > > > > > > +             return 1;
> > > > > > > > 
> > > > > > > > 
> > > > > > > > not picky but what if i do blkparse from a fifo? will this work?
> > > > > > > 
> > > > > > > It can't make things worse, as 0 is the failure condition. Alans 
> > > > > > > change
> > > > > > > makes sense, we will just read 0 events from the descriptor.
> > > > > > > 
> > > > > > 
> > > > > > yes, not worse, just not fixed.
> > > > > > 
> > > > > > i know this is rarely happen. but if somebody do blkparse -i xyz 
> > > > > > and xyz
> > > > > > is a fifo file (feed data by netcat or any fancy stuff), then 
> > > > > > setup_file
> > > > > > will return 1. then blkparse behave incorrectly. and "blkparse -h" 
> > > > > > does
> > > > > > not explicitly ban the use of fifo.
> > > > > 
> > > > > It's not something I've done, but would be nice to have fixed. Care to
> > > > > send a patch?
> > > > 
> > > > my pleasure. which way u prefer? ban the use by revising the usage, or
> > > > enable the use of fifo?
> > > 
> > > Making fifo work would be nicest, if it's easily doable.
> > 
> > sorry that i do not think it is easily doable once i pick up the code.
> > the file names have to follow the patten like foo.blktrace.X. If a box
> > has N cpu, people will not bother to create N fifo and follow that rule
> > at all. So no worthy supporting it. Also add another note about instead
> > of give full name, partial name should be supplied.
> 
> Are you sure you read it correctly? blkparse already supports a piped
> input, reading from stdin is how live traces are handled. You should not
> need to add any new io handling code, just basically make sure it passes
> the initial checks and ends up on do_stdin() (perhaps add a do_pipe()
> that do_stdin() calls, after doing a dup() on STDIN_FILENO, reusing
> do_pipe() for your fifo?).
> 

i know the blkparse support a piped input. 

the problem is the naming. blkparse assume a file name to follow
foo.blktrace.X pattern. so if we allow a fifo file to follow foo, or
foo.blktrace pattern, this looks quite inconsistent.



-
To unsubscribe from this list: send the line "unsubscribe linux-btrace" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to