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