[PATCH v2 5/8] makedumpfile: Read and process filter commands from config file.

Mahesh J Salgaonkar mahesh at linux.vnet.ibm.com
Thu Aug 11 07:51:24 EDT 2011


On 2011-08-11 17:29:00 Thu, Ken'ichi Ohmichi wrote:
> 
> Hi Mahesh,
> 
> On Thu, 11 Aug 2011 14:17:51 +0900
> "Ken'ichi Ohmichi" <oomichi at mxs.nes.nec.co.jp> wrote:
> > > 
> > > BTW makedumpfile.c has become a large file which is bigger than 10KLine,
> > > and I will separate it to some files for the maintenance.
> > 
> > To shrink makedumpfile.c file, I made a prototype patch.
> > (commit 40f5724152047a12e4ac9db51d9f9e00e7a79ebe of filter-out-devel branch)
> > And I'd like to see your opinion.
> > 
> > You added sym_in_module() call into get_symbol_addr() to look for module
> > symbol. And I will move the call to resolve_config_entry() because I guess
> > sym_in_module() is used only for resolve_config_entry():
> > 
> > @@ -8448,13 +7326,21 @@ resolve_config_entry(struct config_entry *ce, unsigned long long base_addr,
> >                                                 char *base_struct_name)
> >  {
> >         char buf[BUFSIZE + 1];
> > +       unsigned long long symbol;
> > 
> >         if (ce->flag & SYMBOL_ENTRY) {
> >                 /* find the symbol info */
> >                 if (!ce->name)
> >                         return FALSE;
> > 
> > -               ce->sym_addr = get_symbol_addr(ce->name);
> > +               /*
> > +                * If we are looking for module symbol then traverse through
> > +                * mod_st.modules for symbol lookup
> > +                */
> > +               if (sym_in_module(ce->name, &symbol))
> > +                       ce->sym_addr = symbol;
> > +               else
> > +                       ce->sym_addr = get_symbol_addr(ce->name);
> >                 if (!ce->sym_addr) {
> >                         ERRMSG("Config error at %d: Can't find symbol '%s'.\n",
> >                                                         ce->line, ce->name);
> > ---
> 
> Sorry, the above mail is not clear.
> My question is,
> 	Do you think this change is right ?

My intention was to hide it under get_symbol_addr(). But yes, since it's
only used by resolve_config_entry() we can safely move it there.

Thanks,
-Mahesh.

-- 
Mahesh J Salgaonkar



More information about the kexec mailing list