Hello community,

here is the log from the commit of package libstorage for openSUSE:13.1 checked 
in at 2013-09-29 17:49:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1/libstorage (Old)
 and      /work/SRC/openSUSE:13.1/.libstorage.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libstorage"

Changes:
--------
--- /work/SRC/openSUSE:13.1/libstorage/libstorage.changes       2013-09-23 
10:58:58.000000000 +0200
+++ /work/SRC/openSUSE:13.1/.libstorage.new/libstorage.changes  2013-09-29 
17:49:47.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Sep 25 15:06:46 CEST 2013 - f...@suse.de
+
+- version 2.24.5
+- add code to support named raids (fate#315590)
+
+-------------------------------------------------------------------

Old:
----
  libstorage-2.24.4.tar.bz2

New:
----
  libstorage-2.24.5.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libstorage.spec ++++++
--- /var/tmp/diff_new_pack.bBEvrh/_old  2013-09-29 17:49:47.000000000 +0200
+++ /var/tmp/diff_new_pack.bBEvrh/_new  2013-09-29 17:49:47.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           libstorage
-Version:        2.24.4
+Version:        2.24.5
 Release:        0
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Source:         libstorage-%{version}.tar.bz2

++++++ libstorage-2.24.4.tar.bz2 -> libstorage-2.24.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-2.24.4/VERSION 
new/libstorage-2.24.5/VERSION
--- old/libstorage-2.24.4/VERSION       2013-09-13 11:11:49.000000000 +0200
+++ new/libstorage-2.24.5/VERSION       2013-09-25 17:06:50.000000000 +0200
@@ -1 +1 @@
-2.24.4
+2.24.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-2.24.4/bindings/python/libstorage.py 
new/libstorage-2.24.5/bindings/python/libstorage.py
--- old/libstorage-2.24.4/bindings/python/libstorage.py 2013-09-13 
11:25:30.000000000 +0200
+++ new/libstorage-2.24.5/bindings/python/libstorage.py 2013-09-26 
11:32:28.000000000 +0200
@@ -1432,6 +1432,7 @@
 MD_INVALID_PARITY = _libstorage.MD_INVALID_PARITY
 MD_TOO_MANY_SPARES = _libstorage.MD_TOO_MANY_SPARES
 MD_GET_STATE_FAILED = _libstorage.MD_GET_STATE_FAILED
+MD_DUPLICATE_NAME = _libstorage.MD_DUPLICATE_NAME
 MDPART_CHANGE_READONLY = _libstorage.MDPART_CHANGE_READONLY
 MDPART_INTERNAL_ERR = _libstorage.MDPART_INTERNAL_ERR
 MDPART_INVALID_VOLUME = _libstorage.MDPART_INVALID_VOLUME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-2.24.4/storage/LvmVg.cc 
new/libstorage-2.24.5/storage/LvmVg.cc
--- old/libstorage-2.24.4/storage/LvmVg.cc      2013-08-12 15:16:51.000000000 
+0200
+++ new/libstorage-2.24.5/storage/LvmVg.cc      2013-09-23 13:21:50.000000000 
+0200
@@ -974,7 +974,7 @@
     LvmLvPair p=lvmLvPair(lvDeleted);
     for( LvmLvIter i=p.begin(); i!=p.end(); ++i )
        {
-       cout << "Deleted:" << *i << endl;
+       //cout << "Deleted:" << *i << endl;
        if( !i->isThin() )
            {
            map<string,unsigned long> pe_map = i->getPeMap();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-2.24.4/storage/Md.cc 
new/libstorage-2.24.5/storage/Md.cc
--- old/libstorage-2.24.4/storage/Md.cc 2013-08-12 15:16:51.000000000 +0200
+++ new/libstorage-2.24.5/storage/Md.cc 2013-09-25 17:06:50.000000000 +0200
@@ -45,12 +45,18 @@
        : Volume(c, name, device), md_type(Type), md_parity(PAR_DEFAULT), 
chunk_k(0),
          sb_ver("01.00.00"), destrSb(false), devs(devices), spare(spares), 
has_container(false), inactive(false)
     {
-       y2deb("constructed Md " << dev << " on " << cont->device());
+       y2mil("constructed Md " << dev << " on " << cont->device());
 
        assert(c.type() == MD);
 
-       numeric = true;
-       mdStringNum(name, num);
+       numeric = !boost::starts_with( device, "/dev/md/" );
+       if( !numeric )
+           {
+           nm = device.substr(8);
+           num = 0;
+           }
+       else
+           mdStringNum(name, num);
 
        getStorage()->addUsedBy(devs, UB_MD, dev);
        getStorage()->addUsedBy(spares, UB_MD, dev);
@@ -63,7 +69,7 @@
        : Volume(c, name, device, systeminfo), md_type(RAID_UNK), 
md_parity(PAR_DEFAULT),
          chunk_k(0), sb_ver("01.00.00"), destrSb(false), has_container(false), 
inactive(false)
     {
-       y2deb("constructed Md " << device << " on " << cont->device());
+       y2mil("constructed Md " << device << " on " << cont->device());
 
        assert(c.type() == MD);
 
@@ -120,6 +126,14 @@
        {
            md_uuid = details.uuid;
            md_name = details.devname;
+           if( !md_name.empty() )
+               {
+               numeric=false;
+               nm = md_name;
+               dev = "/dev/md/"+md_name;
+               alt_names.remove(dev);
+               alt_names.push_back( mdDevice(mnr) );
+               }
        }
 
        getStorage()->addUsedBy(devs, UB_MD, dev);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-2.24.4/storage/MdCo.cc 
new/libstorage-2.24.5/storage/MdCo.cc
--- old/libstorage-2.24.4/storage/MdCo.cc       2013-01-22 11:28:07.000000000 
+0100
+++ new/libstorage-2.24.5/storage/MdCo.cc       2013-09-25 17:06:50.000000000 
+0200
@@ -106,11 +106,11 @@
 
 
 bool
-MdCo::findMd( unsigned num, MdIter& i )
+MdCo::findMd( const string& dev, MdIter& i )
     {
     MdPair p=mdPair(Md::notDeleted);
     i=p.begin();
-    while( i!=p.end() && i->nr()!=num )
+    while( i!=p.end() && i->device()!=dev )
        ++i;
     return( i!=p.end() );
     }
@@ -123,15 +123,9 @@
     }
 
 bool
-MdCo::findMd( const string& dev, MdIter& i )
+MdCo::findMd( unsigned num, MdIter& i )
     {
-    unsigned num;
-    if( Md::mdStringNum(dev,num) ) 
-       {
-       return( findMd( num, i ));
-       }
-    else
-       return( false );
+    return( findMd( Md::mdDevice(num), i ));
     }
 
 bool
@@ -154,19 +148,35 @@
        return nums;
     }
 
+int MdCo::getNameNum( const string& dev, string& nm, unsigned& num )
+    {
+    int ret=0;
+    num = 0;
+    nm.clear();
+    if( boost::starts_with(dev, "/dev/md/"))
+       nm = dev.substr(8);
+    else if( !Md::mdStringNum( dev, num ))
+       ret = STORAGE_MD_INVALID_NAME;
+    else if( num>255 )
+       ret = MD_NUMBER_TOO_LARGE;
+    return( ret );
+    }
+
 
 int 
-MdCo::createMd(unsigned num, MdType type, const list<string>& devs, const 
list<string>& spares)
+MdCo::createMd(const string& dev, MdType type, const list<string>& devs, const 
list<string>& spares)
     {
     int ret = 0;
-    y2mil("num:" << num << " type:" << toString(type) << " devs:" << devs << " 
spares:" << spares);
+    string nm;
+    unsigned num;
+    y2mil("dev:" << dev << " type:" << toString(type) << " devs:" << devs << " 
spares:" << spares);
     if( readonly() )
        {
        ret = MD_CHANGE_READONLY;
        }
-    if( ret==0 && num>=256 )
+    if( ret==0 )
        {
-       ret = MD_NUMBER_TOO_LARGE;
+       ret = getNameNum( dev, nm, num );
        }
     if( ret==0 && type==RAID_UNK )
        {
@@ -174,17 +184,18 @@
        }
     if( ret==0 )
        {
-       if( findMd( num ))
+       if( nm.empty() && findMd( num ))
            ret = MD_DUPLICATE_NUMBER;
+       else if( findMd( dev ))
+           ret = MD_DUPLICATE_NAME;
        }
-
     if (ret == 0)
        ret = checkUse(devs, spares);
-
     if( ret==0 )
        {
-       string name = "md" + decString(num);
-       Md* m = new Md(*this, name, "/dev/" + name, type, devs, spares);
+       if( nm.empty() )
+           nm = "md" + decString(num);
+       Md* m = new Md(*this, nm, dev, type, devs, spares);
        m->setCreated( true );
        addToList( m );
        }
@@ -222,12 +233,12 @@
 
 
 int 
-MdCo::checkMd( unsigned num )
+MdCo::checkMd( const string& dev )
     {
     int ret = 0;
-    y2mil("num:" << num);
+    y2mil("dev:" << dev);
     MdIter i;
-    if( !findMd( num, i ) )
+    if( !findMd( dev, i ) )
        ret = MD_DEVICE_UNKNOWN;
     else if( i->created() )
        ret = i->checkDevices();
@@ -236,10 +247,10 @@
     }
 
 int 
-MdCo::extendMd(unsigned num, const list<string>& devs, const list<string>& 
spares)
+MdCo::extendMd(const string& dev, const list<string>& devs, const 
list<string>& spares)
     {
     int ret = 0;
-    y2mil("num:" << num << " devs:" << devs << " spares:" << spares);
+    y2mil("dev:" << dev << " devs:" << devs << " spares:" << spares);
     MdIter i;
     if( readonly() )
        {
@@ -251,7 +262,7 @@
        }
     if( ret==0 )
        {
-       if( !findMd( num, i ))
+       if( !findMd( dev, i ))
            ret = MD_UNKNOWN_NUMBER;
        }
     if( ret==0 && !i->created() )
@@ -279,10 +290,10 @@
     }
 
 int 
-MdCo::updateMd(unsigned num, const list<string>& devs, const list<string>& 
spares)
+MdCo::updateMd(const string& dev, const list<string>& devs, const 
list<string>& spares)
     {
     int ret = 0;
-    y2mil("num:" << num << " devs:" << devs << " spares:" << spares);
+    y2mil("dev:" << dev << " devs:" << devs << " spares:" << spares);
     MdIter i;
     if( readonly() )
        {
@@ -290,7 +301,7 @@
        }
     if( ret==0 )
        {
-       if( !findMd( num, i ))
+       if( !findMd( dev, i ))
            ret = MD_UNKNOWN_NUMBER;
        }
     if( ret==0 && !i->created() )
@@ -320,19 +331,15 @@
            if ((ret = i->addDevice(*it, true)) != 0)
                break;
        }
-    if( ret==0 && !getStorage()->isDisk(dev) )
-       {
-       getStorage()->changeFormatVolume( dev, false, FSNONE );
-       }
     y2mil("ret:" << ret);
     return( ret );
     }
 
 int 
-MdCo::shrinkMd(unsigned num, const list<string>& devs, const list<string>& 
spares)
+MdCo::shrinkMd(const string& dev, const list<string>& devs, const 
list<string>& spares)
     {
     int ret = 0;
-    y2mil("num:" << num << " devs:" << devs << " spares:" << spares);
+    y2mil("dev:" << dev << " devs:" << devs << " spares:" << spares);
     MdIter i;
     if( readonly() )
        {
@@ -340,7 +347,7 @@
        }
     if( ret==0 )
        {
-       if( !findMd( num, i ))
+       if( !findMd( dev, i ))
            ret = MD_UNKNOWN_NUMBER;
        }
     if( ret==0 && !i->created() )
@@ -364,10 +371,10 @@
     }
 
 int 
-MdCo::changeMdType( unsigned num, MdType ptype )
+MdCo::changeMdType( const string& dev, MdType ptype )
     {
     int ret = 0;
-    y2mil("num:" << num << " md_type:" << toString(ptype));
+    y2mil("dev:" << dev << " md_type:" << toString(ptype));
     MdIter i;
     if( readonly() )
        {
@@ -375,7 +382,7 @@
        }
     if( ret==0 )
        {
-       if( !findMd( num, i ))
+       if( !findMd( dev, i ))
            ret = MD_UNKNOWN_NUMBER;
        }
     if( ret==0 && !i->created() )
@@ -391,10 +398,10 @@
     }
 
 int 
-MdCo::changeMdChunk( unsigned num, unsigned long chunk )
+MdCo::changeMdChunk( const string& dev, unsigned long chunk )
     {
     int ret = 0;
-    y2mil("num:" << num << " chunk:" << chunk);
+    y2mil("dev:" << dev << " chunk:" << chunk);
     MdIter i;
     if( readonly() )
        {
@@ -402,7 +409,7 @@
        }
     if( ret==0 )
        {
-       if( !findMd( num, i ))
+       if( !findMd( dev, i ))
            ret = MD_UNKNOWN_NUMBER;
        }
     if( ret==0 && !i->created() )
@@ -418,10 +425,10 @@
     }
 
 int
-MdCo::changeMdParity( unsigned num, MdParity ptype )
+MdCo::changeMdParity( const string& dev, MdParity ptype )
     {
     int ret = 0;
-    y2mil("num:" << num << " parity:" << toString(ptype));
+    y2mil("dev:" << dev << " parity:" << toString(ptype));
     MdIter i;
     if( readonly() )
        {
@@ -429,7 +436,7 @@
        }
     if( ret==0 )
        {
-       if( !findMd( num, i ))
+       if( !findMd( dev, i ))
            ret = MD_UNKNOWN_NUMBER;
        }
     if( ret==0 && !i->created() )
@@ -445,13 +452,13 @@
     }
 
 int
-MdCo::getMdState(unsigned num, MdStateInfo& info)
+MdCo::getMdState(const string& dev, MdStateInfo& info)
 {
     int ret = 0;
     MdIter i;
     if( ret==0 )
     {
-       if( !findMd( num, i ))
+       if( !findMd( dev, i ))
            ret = MD_UNKNOWN_NUMBER;
     }
     if( ret==0 && i->created() )
@@ -467,10 +474,10 @@
 }
 
 int 
-MdCo::removeMd( unsigned num, bool destroySb )
+MdCo::removeMd( const string& dev, bool destroySb )
     {
     int ret = 0;
-    y2mil("num:" << num);
+    y2mil("dev:" << dev);
     MdIter i;
     if( readonly() )
        {
@@ -478,7 +485,7 @@
        }
     if( ret==0 )
        {
-       if( !findMd( num, i ))
+       if( !findMd( dev, i ))
            ret = MD_UNKNOWN_NUMBER;
        }
     if (ret == 0 && i->isUsedBy())
@@ -508,11 +515,7 @@
     {
     int ret = 0;
     y2mil("name:" << v->name());
-    Md * m = dynamic_cast<Md *>(v);
-    if( m != NULL )
-       ret = removeMd( v->nr() );
-    else 
-       ret = MD_REMOVE_INVALID_VOLUME;
+    ret = removeMd( v->device() );
     return( ret );
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-2.24.4/storage/MdCo.h 
new/libstorage-2.24.5/storage/MdCo.h
--- old/libstorage-2.24.4/storage/MdCo.h        2013-01-22 11:28:07.000000000 
+0100
+++ new/libstorage-2.24.5/storage/MdCo.h        2013-09-25 17:06:50.000000000 
+0200
@@ -45,16 +45,16 @@
        static storage::CType staticType() { return storage::MD; }
        friend std::ostream& operator<< (std::ostream&, const MdCo& );
 
-       int createMd(unsigned num, MdType type, const list<string>& devs, const 
list<string>& spares);
-       int removeMd( unsigned num, bool destroySb=true );
-       int extendMd(unsigned num, const list<string>& devs, const 
list<string>& spares);
-       int updateMd(unsigned num, const list<string>& devs, const 
list<string>& spares);
-       int shrinkMd(unsigned num, const list<string>& devs, const 
list<string>& spares);
-       int changeMdType( unsigned num, storage::MdType ptype );
-       int changeMdChunk( unsigned num, unsigned long chunk );
-       int changeMdParity( unsigned num, storage::MdParity ptype );
-       int checkMd( unsigned num );
-       int getMdState(unsigned num, MdStateInfo& info);
+       int createMd(const string& dev, MdType type, const list<string>& devs, 
const list<string>& spares);
+       int removeMd(const string& dev, bool destroySb=true );
+       int extendMd(const string& dev, const list<string>& devs, const 
list<string>& spares);
+       int updateMd(const string& dev, const list<string>& devs, const 
list<string>& spares);
+       int shrinkMd(const string& dev, const list<string>& devs, const 
list<string>& spares);
+       int changeMdType( const string& dev, storage::MdType ptype );
+       int changeMdChunk( const string& dev, unsigned long chunk );
+       int changeMdParity( const string& dev, storage::MdParity ptype );
+       int checkMd( const string& dev );
+       int getMdState(const string& dev, MdStateInfo& info);
        bool equalContent( const Container& rhs ) const;
 
        virtual void logDifferenceWithVolumes(std::ostream& log, const 
Container& rhs) const;
@@ -64,6 +64,7 @@
        void changeDeviceName( const string& old, const string& nw );
 
        static void activate(bool val, const string& tmpDir);
+       static int getNameNum( const string& dev, string& nm, unsigned& num );
        int removeVolume( Volume* v );
        
        /* returns in 'nums' numbers that are used by Md */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-2.24.4/storage/Storage.cc 
new/libstorage-2.24.5/storage/Storage.cc
--- old/libstorage-2.24.4/storage/Storage.cc    2013-08-22 12:32:57.000000000 
+0200
+++ new/libstorage-2.24.5/storage/Storage.cc    2013-09-26 11:19:36.000000000 
+0200
@@ -3931,19 +3931,10 @@
     int ret = 0;
     assertInit();
     y2mil("name:" << name << " MdType:" << toString(rtype) << " devices:" << 
devs << " spares:" << spares);
-    unsigned num = 0;
     if (readonly())
        {
        ret = STORAGE_CHANGE_READONLY;
        }
-    if( ret==0 && !Md::mdStringNum( name, num ))
-       {
-       ret = STORAGE_MD_INVALID_NAME;
-       }
-    if( ret==0 && !checkMdNumber(num) )
-        {
-        ret = MD_DUPLICATE_NUMBER;
-        }
     MdCo *md = NULL;
     bool have_md = true;
     if( ret==0 )
@@ -3954,7 +3945,7 @@
        }
     if( ret==0 && md!=NULL )
        {
-       ret = md->createMd(num, rtype, normalizeDevices(devs), 
normalizeDevices(spares));
+       ret = md->createMd(name, rtype, normalizeDevices(devs), 
normalizeDevices(spares));
        }
     if( !have_md )
        {
@@ -3964,7 +3955,7 @@
            delete md;
        }
     if( ret==0 )
-       checkPwdBuf( Md::mdDevice(num) );
+       checkPwdBuf( name );
     if( ret==0 )
        {
        ret = checkCache();
@@ -4000,7 +3991,7 @@
        }
     if( ret==0 )
        {
-       ret = md->createMd(num, rtype, normalizeDevices(devs), 
normalizeDevices(spares));
+       ret = md->createMd(device, rtype, normalizeDevices(devs), 
normalizeDevices(spares));
        }
     if( !have_md )
        {
@@ -4012,7 +4003,7 @@
            delete md;
        }
     if( ret==0 )
-       checkPwdBuf( Md::mdDevice(num) );
+       checkPwdBuf( device );
     if( ret==0 )
        {
        ret = checkCache();
@@ -4030,16 +4021,11 @@
        {
        ret = STORAGE_CHANGE_READONLY;
        }
-    unsigned num = 0;
-    if( ret==0 && !Md::mdStringNum( name, num ))
-       {
-       ret = STORAGE_MD_INVALID_NAME;
-       }
     if( ret==0 )
        {
        MdCo *md = NULL;
        if( haveMd(md) )
-           ret = md->removeMd( num, destroySb );
+           ret = md->removeMd( name, destroySb );
        else
            ret = STORAGE_MD_NOT_FOUND;
        }
@@ -4060,16 +4046,11 @@
        {
        ret = STORAGE_CHANGE_READONLY;
        }
-    unsigned num = 0;
-    if( ret==0 && !Md::mdStringNum( name, num ))
-       {
-       ret = STORAGE_MD_INVALID_NAME;
-       }
     if( ret==0 )
        {
        MdCo *md = NULL;
        if( haveMd(md) )
-           ret = md->extendMd(num, normalizeDevices(devs), 
normalizeDevices(spares));
+           ret = md->extendMd(name, normalizeDevices(devs), 
normalizeDevices(spares));
        else
            ret = STORAGE_MD_NOT_FOUND;
        }
@@ -4090,16 +4071,11 @@
        {
        ret = STORAGE_CHANGE_READONLY;
        }
-    unsigned num = 0;
-    if( ret==0 && !Md::mdStringNum( name, num ))
-       {
-       ret = STORAGE_MD_INVALID_NAME;
-       }
     if( ret==0 )
        {
        MdCo *md = NULL;
        if( haveMd(md) )
-           ret = md->updateMd(num, normalizeDevices(devs), 
normalizeDevices(spares));
+           ret = md->updateMd(name, normalizeDevices(devs), 
normalizeDevices(spares));
        else
            ret = STORAGE_MD_NOT_FOUND;
        }
@@ -4120,16 +4096,11 @@
        {
        ret = STORAGE_CHANGE_READONLY;
        }
-    unsigned num = 0;
-    if( ret==0 && !Md::mdStringNum( name, num ))
-       {
-       ret = STORAGE_MD_INVALID_NAME;
-       }
     if( ret==0 )
        {
        MdCo *md = NULL;
        if( haveMd(md) )
-           ret = md->shrinkMd(num, normalizeDevices(devs), 
normalizeDevices(spares));
+           ret = md->shrinkMd(name, normalizeDevices(devs), 
normalizeDevices(spares));
        else
            ret = STORAGE_MD_NOT_FOUND;
        }
@@ -4150,16 +4121,11 @@
        {
        ret = STORAGE_CHANGE_READONLY;
        }
-    unsigned num = 0;
-    if( ret==0 && !Md::mdStringNum( name, num ))
-       {
-       ret = STORAGE_MD_INVALID_NAME;
-       }
     if( ret==0 )
        {
        MdCo *md = NULL;
        if( haveMd(md) )
-           ret = md->changeMdType( num, rtype );
+           ret = md->changeMdType( name, rtype );
        else
            ret = STORAGE_MD_NOT_FOUND;
        }
@@ -4180,16 +4146,11 @@
        {
        ret = STORAGE_CHANGE_READONLY;
        }
-    unsigned num = 0;
-    if( ret==0 && !Md::mdStringNum( name, num ))
-       {
-       ret = STORAGE_MD_INVALID_NAME;
-       }
     if( ret==0 )
        {
        MdCo *md = NULL;
        if( haveMd(md) )
-           ret = md->changeMdChunk( num, chunk );
+           ret = md->changeMdChunk( name, chunk );
        else
            ret = STORAGE_MD_NOT_FOUND;
        }
@@ -4210,16 +4171,11 @@
        {
        ret = STORAGE_CHANGE_READONLY;
        }
-    unsigned num = 0;
-    if( ret==0 && !Md::mdStringNum( name, num ))
-       {
-       ret = STORAGE_MD_INVALID_NAME;
-       }
     if( ret==0 )
        {
        MdCo *md = NULL;
        if( haveMd(md) )
-           ret = md->changeMdParity( num, ptype );
+           ret = md->changeMdParity( name, ptype );
        else
            ret = STORAGE_MD_NOT_FOUND;
        }
@@ -4236,10 +4192,9 @@
     int ret = 0;
     assertInit();
     y2mil("name:" << name);
-    unsigned num = 0;
     MdCo *md = NULL;
-    if( Md::mdStringNum( name, num ) && haveMd(md) )
-       ret = md->checkMd(num);
+    if( haveMd(md) )
+       ret = md->checkMd(name);
     else
        ret = STORAGE_MD_NOT_FOUND;
     y2mil("ret:" << ret);
@@ -4252,16 +4207,11 @@
     int ret = 0;
     assertInit();
     y2mil("name:" << name);
-    unsigned num = 0;
-    if (ret == 0 && !Md::mdStringNum(name, num))
-    {
-       ret = STORAGE_MD_INVALID_NAME;
-    }
     if (ret == 0)
     {
        MdCo *md = NULL;
        if (haveMd(md))
-           ret = md->getMdState(num, info);
+           ret = md->getMdState(name, info);
        else
            ret = STORAGE_MD_NOT_FOUND;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-2.24.4/storage/StorageInterface.h 
new/libstorage-2.24.5/storage/StorageInterface.h
--- old/libstorage-2.24.4/storage/StorageInterface.h    2013-08-12 
10:41:50.000000000 +0200
+++ new/libstorage-2.24.5/storage/StorageInterface.h    2013-09-25 
17:06:50.000000000 +0200
@@ -838,6 +838,7 @@
        MD_INVALID_PARITY = -6021,
        MD_TOO_MANY_SPARES = -6022,
        MD_GET_STATE_FAILED = -6023,
+       MD_DUPLICATE_NAME = -6024,
 
        MDPART_CHANGE_READONLY = -6100,
        MDPART_INTERNAL_ERR = -6101,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-2.24.4/storage/Volume.cc 
new/libstorage-2.24.5/storage/Volume.cc
--- old/libstorage-2.24.4/storage/Volume.cc     2013-08-12 15:16:51.000000000 
+0200
+++ new/libstorage-2.24.5/storage/Volume.cc     2013-09-25 17:06:50.000000000 
+0200
@@ -410,6 +410,8 @@
         return( *static_cast<const LvmLv*>(this) <
                 *static_cast<const LvmLv*>(&rhs) );
         }
+    else if( numeric!=rhs.numeric )
+       return( numeric );
     else if( (numeric && num!=rhs.num) || (!numeric && nm != rhs.nm) )
        {
        if( numeric )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libstorage-2.24.4/storage/gen_md5sum.cc 
new/libstorage-2.24.5/storage/gen_md5sum.cc
--- old/libstorage-2.24.4/storage/gen_md5sum.cc 2013-09-10 12:33:18.000000000 
+0200
+++ new/libstorage-2.24.5/storage/gen_md5sum.cc 2013-09-26 11:25:49.000000000 
+0200
@@ -1,5 +1,5 @@
-#define SOURCES_MD5SUM   "7bb9bf00d5213abfb1af55d0f4810110"
-#define SOURCES_MD5_DATE " Tue Sep 10 12:33:18 CEST 2013 "
+#define SOURCES_MD5SUM   "310fb3595c8b2740efd1d5c877a7ffec"
+#define SOURCES_MD5_DATE " Thu Sep 26 11:25:49 CEST 2013 "
 namespace storage
 {
 const char* GetSourceMd5() { return SOURCES_MD5SUM; }

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to