Author: mpatelcz Date: Mon Nov 23 14:25:34 2009 New Revision: 59702 URL: http://svn.opensuse.org/viewcvs/yast?rev=59702&view=rev Log: BZ 554143 - support udev ids for mdpart. Modified: branches/SuSE-Code-11-SP1-Branch/storage/libstorage/src/MdPartCo.cc branches/SuSE-Code-11-SP1-Branch/storage/libstorage/src/Storage.cc Modified: branches/SuSE-Code-11-SP1-Branch/storage/libstorage/src/MdPartCo.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/storage/libstorage/src/MdPartCo.cc?rev=59702&r1=59701&r2=59702&view=diff ============================================================================== --- branches/SuSE-Code-11-SP1-Branch/storage/libstorage/src/MdPartCo.cc (original) +++ branches/SuSE-Code-11-SP1-Branch/storage/libstorage/src/MdPartCo.cc Mon Nov 23 14:25:34 2009 @@ -1006,10 +1006,21 @@ void MdPartCo::setUdevData(const list<string>& id) { + y2mil("disk:" << nm << " id:" << id); + udev_id = id; + //this strange line will actually remove anything that doesn't start with "md-uuid-" string. + udev_id.erase(remove_if(udev_id.begin(), udev_id.end(), find_begin("md-uuid-")), udev_id.end()); + udev_id.sort(); + y2mil("id:" << udev_id); if (disk) { disk->setUdevData("", id); } + MdPartPair pp = mdpartPair(); + for( MdPartIter p=pp.begin(); p!=pp.end(); ++p ) + { + p->addUdevData(); + } } @@ -1126,7 +1137,7 @@ log += " MD-UUID:" + md_uuid + "-->" + d.md_uuid; if( md_name!=d.md_name ) { - log += " MDName:" + md_uuid + "-->" + d.md_uuid; + log += " MDName:" + md_name + "-->" + d.md_name; } if( destrSb!=d.destrSb ) { Modified: branches/SuSE-Code-11-SP1-Branch/storage/libstorage/src/Storage.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/storage/libstorage/src/Storage.cc?rev=59702&r1=59701&r2=59702&view=diff ============================================================================== --- branches/SuSE-Code-11-SP1-Branch/storage/libstorage/src/Storage.cc (original) +++ branches/SuSE-Code-11-SP1-Branch/storage/libstorage/src/Storage.cc Mon Nov 23 14:25:34 2009 @@ -444,12 +444,18 @@ list<string> l = MdPartCo::getMdRaids(); list<string> mdpartlist = MdPartCo::filterMdPartCo(l,ppart, instsys()); // + map<string, list<string>> by_id; + getUdevMap("/dev/disk/by-id", by_id); for( list<string>::const_iterator i = mdpartlist.begin(); i != mdpartlist.end(); i++) { MdPartCo * v = new MdPartCo( this, *i, &ppart ); - // check for valid? + list<string> nm = by_id[v->name()]; + if( !nm.empty() ) + { + v->setUdevData(nm); + } addToList( v ); } } -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org