[dm-devel] SUSE multipath-tools patch resync

Christophe Varoqui christophe.varoqui at gmail.com
Wed May 25 12:10:31 UTC 2011


On mer., 2011-05-25 at 13:14 +0200, Christophe Varoqui wrote:
> On mer., 2011-05-25 at 11:08 +0200, Hannes Reinecke wrote:
> > On 05/25/2011 09:51 AM, Christophe Varoqui wrote:
> > > On mer., 2011-05-18 at 17:03 +0200, Hannes Reinecke wrote:
> > >> git.kernel.org:/pub/scm/linux/kernel/git/hare/multipath-tools.git
> > >
> > > I started the merge. I'll post comments along the reading. It seems
> > > there won't be much : this patchset is clearly a must-have.
> > >
> > :-)
> > 
> > With some things so bloody obvious that I keep wondering if I'm the
> > only one seeing these ...
> > 
> The merge is done. No change wrt your branch. Still not pushed to korg.
> I struggle with a hwtable corruption with no /etc/multipath.conf ... can
> you reproduce that ?
> 
Well, forget it ... it was just a matter of 'make clean && make' as some
structures changed length.

The merge is over and pushed to korg.
I catched only to problems.
You might want to review the fixes.

1/
commit e2ae02287aaec0b56ac832841130e3c855a5a471
Author: Christophe Varoqui <christophe.varoqui at opensvc.com>
Date:   Wed May 25 14:00:52 2011 +0200

    Fix segfault in dm reassign code path
    
    alias is allocated and freed in multipathd/main.c:uev_add_map().
    
    Don't free it in ev_add_map() called from uev_add_map() to avoid
    double free.

diff --git a/multipathd/main.c b/multipathd/main.c
index 4497609..cc75921 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -272,7 +272,6 @@ ev_add_map (char * dev, char * alias, struct vectors
* vecs)
                                alias);
                        dm_reassign(alias);
                }
-               FREE(alias);
                return 0;
        }

2/
commit 7b541d1e2cee70ad5e61edf12333e7ff49615c8c
Author: Christophe Varoqui <christophe.varoqui at opensvc.com>
Date:   Wed May 25 13:59:53 2011 +0200

    Set an internal default for feature
    
    Fix segfault when no /etc/multipath.conf is present.

diff --git a/libmultipath/config.c b/libmultipath/config.c
index 87039f0..4236088 100644
--- a/libmultipath/config.c
+++ b/libmultipath/config.c
@@ -493,6 +493,7 @@ load_config (char * file)
        conf->bindings_file = set_default(DEFAULT_BINDINGS_FILE);
        conf->bindings_read_only = 0;
        conf->multipath_dir = set_default(DEFAULT_MULTIPATHDIR);
+       conf->features = set_default(DEFAULT_FEATURES);
        conf->flush_on_last_del = 0;
        conf->attribute_flags = 0;
        conf->reassign_maps = DEFAULT_REASSIGN_MAPS;

-- 
Christophe Varoqui
OpenSVC - Tools to scale
http://www.opensvc.com/




More information about the dm-devel mailing list