Re: [PATCH 06/37] debugfs: force logdump to display (old) journal contents

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 02, 2014 at 01:49:37PM +0200, Lukáš Czerner wrote:
> On Thu, 1 May 2014, Darrick J. Wong wrote:
> 
> > Date: Thu, 01 May 2014 16:13:02 -0700
> > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> > To: tytso@xxxxxxx, darrick.wong@xxxxxxxxxx
> > Cc: linux-ext4@xxxxxxxxxxxxxxx
> > Subject: [PATCH 06/37] debugfs: force logdump to display (old) journal
> >     contents
> > 
> > If the user passes -a more than once to logdump, try to dump old log
> > contents.  This can be used to try to track down journal problems even
> > after recovery.
> 
> You need to update man page as well for this. Also I wonder what's
> the behaviour if '-a' and '-b' or '-c' are specified simultaneously
> and '-a' is specified multiple times ?

I'll update the manpage.  -c seems to hexdump the contents of any block that we
find while iterating the journal.  -b would seem to allow you to dump an
arbitrary block #, but I could never get it to do that.

In any case, specifying -a even once will make logdump dump every block and
ignore -b.

--D
> 
> Thanks!
> -Lukas
> 
> > 
> > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> > ---
> >  debugfs/logdump.c |   11 ++++++++---
> >  1 file changed, 8 insertions(+), 3 deletions(-)
> > 
> > 
> > diff --git a/debugfs/logdump.c b/debugfs/logdump.c
> > index 8b9dc5b..bf4bef5 100644
> > --- a/debugfs/logdump.c
> > +++ b/debugfs/logdump.c
> > @@ -393,9 +393,13 @@ static void dump_journal(char *cmdname, FILE *out_file,
> >  	fprintf(out_file, "Journal starts at block %u, transaction %u\n",
> >  		blocknr, transaction);
> >  
> > -	if (!blocknr)
> > +	if (!blocknr) {
> >  		/* Empty journal, nothing to do. */
> > -		return;
> > +		if (dump_all < 2)
> > +			return;
> > +		else
> > +			blocknr = 1;
> > +	}
> >  
> >  	while (1) {
> >  		retval = read_journal_block(cmdname, source,
> > @@ -420,7 +424,8 @@ static void dump_journal(char *cmdname, FILE *out_file,
> >  			fprintf (out_file, "Found sequence %u (not %u) at "
> >  				 "block %u: end of journal.\n",
> >  				 sequence, transaction, blocknr);
> > -			return;
> > +			if (dump_all < 2)
> > +				return;
> >  		}
> >  
> >  		if (dump_descriptors) {
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux