Hello community, here is the log from the commit of package yast2-storage checked in at Mon Feb 26 19:06:24 CET 2007. -------- --- yast2-storage/yast2-storage.changes 2007-02-15 16:20:15.000000000 +0100 +++ /mounts/work_src_done/STABLE/yast2-storage/yast2-storage.changes 2007-02-26 16:27:14.000000000 +0100 @@ -1,0 +2,29 @@ +Thu Feb 22 18:23:36 CET 2007 - fehr@suse.de + +- only allow crypt password from /dev/randowm when persistent + devices names are available +- fix problems caused by activated EVMS during update (#247801) +- version 2.15.5 + +------------------------------------------------------------------- +Wed Feb 21 16:51:15 CET 2007 - fehr@suse.de + +- provide functionality for feature #301966 + +------------------------------------------------------------------- +Tue Feb 20 12:12:58 CET 2007 - fehr@suse.de + +- add text to inform user about crippled IDE support +- initialize dmraid before LVM + +------------------------------------------------------------------- +Mon Feb 19 13:53:30 CET 2007 - fehr@suse.de + +- improve help text for journal mode (#245538) +- prevent deleted pertitione from showing up in EVMS dialog if EVMS + is activated later (#202361) +- prevent invalid creation of too small partitions in EVMS proposal + (#246211) +- do not offer whole dasd disks as PVs in EVMS (#246752) + +------------------------------------------------------------------- @@ -100 +129 @@ -- make Storage::GetDiskParition understand paths with /disk/by- (#233712) +- make Storage::GetDiskPartition understand paths with /disk/by- (#233712) Old: ---- yast2-storage-2.15.4.tar.bz2 New: ---- yast2-storage-2.15.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-storage.spec ++++++ --- /var/tmp/diff_new_pack.el3508/_old 2007-02-26 19:06:14.000000000 +0100 +++ /var/tmp/diff_new_pack.el3508/_new 2007-02-26 19:06:14.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package yast2-storage (Version 2.15.4) +# spec file for package yast2-storage (Version 2.15.5) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -11,12 +11,12 @@ # norootforbuild Name: yast2-storage -Version: 2.15.4 +Version: 2.15.5 Release: 1 License: GNU General Public License (GPL) Group: System/YaST BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source0: yast2-storage-2.15.4.tar.bz2 +Source0: yast2-storage-2.15.5.tar.bz2 prefix: /usr BuildRequires: blocxx-devel docbook-xsl-stylesheets doxygen evms gcc-c++ libxcrypt-devel libxslt openssl-devel perl-XML-Writer sablot sgml-skel swig update-desktop-files yast2 yast2-core-devel yast2-devtools yast2-installation yast2-perl-bindings yast2-testsuite Requires: yast2 parted yast2-installation yast2-storage-lib yast2-perl-bindings @@ -40,7 +40,7 @@ %prep -%setup -n yast2-storage-2.15.4 +%setup -n yast2-storage-2.15.5 %build %{prefix}/bin/y2tool y2autoconf @@ -164,7 +164,24 @@ %doc %{prefix}/share/doc/packages/yast2-storage/libstorage %doc %{prefix}/share/doc/packages/yast2-storage/config.xml.description -%changelog -n yast2-storage +%changelog +* Thu Feb 22 2007 - fehr@suse.de +- only allow crypt password from /dev/randowm when persistent + devices names are available +- fix problems caused by activated EVMS during update (#247801) +- version 2.15.5 +* Wed Feb 21 2007 - fehr@suse.de +- provide functionality for feature #301966 +* Tue Feb 20 2007 - fehr@suse.de +- add text to inform user about crippled IDE support +- initialize dmraid before LVM +* Mon Feb 19 2007 - fehr@suse.de +- improve help text for journal mode (#245538) +- prevent deleted pertitione from showing up in EVMS dialog if EVMS + is activated later (#202361) +- prevent invalid creation of too small partitions in EVMS proposal + (#246211) +- do not offer whole dasd disks as PVs in EVMS (#246752) * Thu Feb 15 2007 - fehr@suse.de - ignore busy disk in parted when only type is changed (#231887) - version 2.15.4 @@ -220,7 +237,7 @@ is called and initial map is restored afterwards (#235756) - fix unchangeable mountby default (#235794) * Tue Jan 16 2007 - fehr@suse.de -- make Storage::GetDiskParition understand paths with /disk/by- (#233712) +- make Storage::GetDiskPartition understand paths with /disk/by- (#233712) * Mon Jan 15 2007 - fehr@suse.de - fix bug when removing all device on a disk (#233779) - make flexible proposal work again (#229651) ++++++ yast2-storage-2.15.4.tar.bz2 -> yast2-storage-2.15.5.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/disk/src/disk.ycp new/yast2-storage-2.15.5/disk/src/disk.ycp --- old/yast2-storage-2.15.4/disk/src/disk.ycp 2006-03-23 14:01:33.000000000 +0100 +++ new/yast2-storage-2.15.5/disk/src/disk.ycp 2007-02-21 16:53:41.000000000 +0100 @@ -11,7 +11,7 @@ * Authors: * Michael Hager <mike@suse.de> * - * $Id: disk.ycp 29327 2006-03-23 13:01:30Z fehr $ + * $Id: disk.ycp 36352 2007-02-21 15:53:38Z fehr $ * * Wrapper file for inst_disk.ycp * @@ -49,6 +49,7 @@ Storage::SwitchUiAutomounter( false ); ret = WFM::CallFunction("inst_disk", [ true, true ]); Storage::SwitchUiAutomounter( true ); + Storage::SaveUsedFs(); } return ret; } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/libstorage/src/Disk.cc new/yast2-storage-2.15.5/libstorage/src/Disk.cc --- old/yast2-storage-2.15.4/libstorage/src/Disk.cc 2007-02-15 15:26:08.000000000 +0100 +++ new/yast2-storage-2.15.5/libstorage/src/Disk.cc 2007-02-20 12:10:54.000000000 +0100 @@ -804,6 +804,21 @@ "of partitions that the kernel driver of the disk can handle is %3$lu.\n" "Partitions numbered above %3$lu cannot be accessed."), (char*)dev.c_str(), range_exceed, range-1 ); + if( dev.find( "/dev/sd" )==0 ) + { + txt += "\n"; + txt += +_("openSUSE is switching to the new IDE drivers using the libata\n" +"modules. These do only support partitions with up to 15\n" +"partitions. You have the following options with openSUSE 10.3:\n" +" - Use the old IDE drivers: Boot again and add\n" +" \'hwprobe=-modules.pata\' as argument to the kernel\n" +" - Repartition your system so that maximal 15 partitions are used.\n" +" To repartition, use your existing operating system.\n" +" - Use LVM/EVMS since they can provide an arbitrary and flexible\n" +" number of block devices partitions. This needs a repartition\n" +" as well."); + } getStorage()->addInfoPopupText( dev, txt ); } for( list<Partition*>::iterator i=pl.begin(); i!=pl.end(); ++i ) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/libstorage/src/EvmsCo.cc new/yast2-storage-2.15.5/libstorage/src/EvmsCo.cc --- old/yast2-storage-2.15.4/libstorage/src/EvmsCo.cc 2007-02-12 16:35:20.000000000 +0100 +++ new/yast2-storage-2.15.5/libstorage/src/EvmsCo.cc 2007-02-19 17:34:19.000000000 +0100 @@ -739,7 +739,7 @@ for( Storage::ConstDiskIterator d = dp.begin(); d!=dp.end(); ++d ) { y2mil( "disk:" << d->device() << " empty:" << d->isEmpty() ); - if( d->isEmpty() ) + if( d->isEmpty() && d->device().find("/dev/dasd")!=0 ) { y2milestone( "empty disk %s", d->name().c_str() ); i = ep.begin(); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/libstorage/src/Storage.cc new/yast2-storage-2.15.5/libstorage/src/Storage.cc --- old/yast2-storage-2.15.4/libstorage/src/Storage.cc 2007-02-14 12:43:49.000000000 +0100 +++ new/yast2-storage-2.15.5/libstorage/src/Storage.cc 2007-02-21 12:44:40.000000000 +0100 @@ -240,9 +240,9 @@ ppart = new ProcPart; } detectMds(); + detectDmraid( *ppart ); detectLvmVgs(); detectEvms(); - detectDmraid( *ppart ); detectDm( *ppart ); LvmVgPair p = lvgPair(); @@ -2739,6 +2739,11 @@ return( co.isContainer()); } +static bool isDiskCreated( const Volume& v ) + { + return( v.cType()==DISK && v.created() ); + } + int Storage::evmsActivate() { int ret = 0; @@ -2766,6 +2771,46 @@ VPair p = vPair( isEvms ); detectFsData( p.begin(), p.end() ); EvmsCoPair ep = evCoPair(); + EvmsCoIterator coi = ep.begin(); + while( coi!=ep.end() && coi->device()!="/dev/evms" ) + ++coi; + if( coi!=ep.end() ) + { + EvmsCo::EvmsPair vp = coi->evmsPair(EvmsCo::lvNotDeleted); + EvmsCo::EvmsIter ei = vp.begin(); + p = vPair( Volume::isDeleted ); + while( ei!=vp.end() ) + { + y2mil( "ev:" << *ei ); + string dev = EvmsCo::evmsToDev( ei->device() ); + y2mil( "disk dev:" << dev ); + VolIterator vi = p.begin(); + while( vi!=p.end() && + (!vi->deleted() || vi->device()!=dev) ) + ++vi; + if( vi!=p.end() ) + { + const Partition* p = dynamic_cast<const Partition *>(&(*vi)); + bool rename = p!=NULL && p->nr()>0 && + p->disk()->isLogical(p->nr()); + y2mil( "ev del :" << *ei ); + handleEvmsRemoveDevice( p->disk(), vi->device(), rename ); + } + ++ei; + } + } + p = vPair( isDiskCreated ); + VolIterator vi=p.begin(); + while( vi!=p.end() ) + { + y2mil( "vi:" << *vi ); + Partition* p = dynamic_cast<Partition *>(&(*vi)); + if( p!=NULL ) + handleEvmsCreateDevice( p->disk()->device(), + vi->device(), + p->type()==EXTENDED ); + ++vi; + } std::map<string,CCont>::iterator i=backups.find("initial"); if( !evCoPair().empty() && i!=backups.end() ) { @@ -2774,7 +2819,7 @@ ++ci; if( ci==i->second.end() ) { - EvmsCoIterator coi = ep.begin(); + coi = ep.begin(); while( coi != ep.end() ) { ci=i->second.begin(); @@ -4415,6 +4460,27 @@ return( ret ); } +string Storage::getAllUsedFs() const + { + list<FsType> fs; + ConstVolPair p = volPair( Volume::notDeleted ); + for( ConstVolIterator v=p.begin(); v!=p.end(); ++v ) + { + FsType t = v->getFs(); + if( t!=FSUNKNOWN && t!=FSNONE && + find( fs.begin(), fs.end(), t )==fs.end() ) + fs.push_back(t); + } + string ret; + for( list<FsType>::const_iterator i=fs.begin(); i!=fs.end(); ++i ) + { + if( !ret.empty() ) + ret += ' '; + ret += Volume::fsTypeString(*i); + } + y2mil( "ret:" << ret ); + return( ret ); + } bool Storage::getFsCapabilities (FsType fstype, FsCapabilities& fscapabilities) const @@ -4575,7 +4641,8 @@ v->setSilent(); y2mil( "v:" << *v ); } - if( disk->isEmpty() && !findVolume( EvmsCo::devToEvms(disk->device()), v) ) + if( disk->isEmpty() && disk->device().find("/dev/dasd")!=0 && + !findVolume( EvmsCo::devToEvms(disk->device()), v) ) { EvmsCo* co = dynamic_cast<EvmsCo *>(&(*c)); if( co != NULL ) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/libstorage/src/Storage.h new/yast2-storage-2.15.5/libstorage/src/Storage.h --- old/yast2-storage-2.15.4/libstorage/src/Storage.h 2007-02-13 13:08:45.000000000 +0100 +++ new/yast2-storage-2.15.5/libstorage/src/Storage.h 2007-02-21 12:36:25.000000000 +0100 @@ -280,6 +280,7 @@ bool getFsCapabilities( storage::FsType fstype, storage::FsCapabilities& fscapabilities) const; + string getAllUsedFs() const; void setExtError( const string& txt ); int createPartition( const string& disk, storage::PartitionType type, unsigned long start, unsigned long size, diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/libstorage/src/StorageInterface.h new/yast2-storage-2.15.5/libstorage/src/StorageInterface.h --- old/yast2-storage-2.15.4/libstorage/src/StorageInterface.h 2007-02-13 13:08:45.000000000 +0100 +++ new/yast2-storage-2.15.5/libstorage/src/StorageInterface.h 2007-02-22 18:33:29.000000000 +0100 @@ -818,6 +818,12 @@ virtual bool getFsCapabilities (FsType fstype, FsCapabilities& fscapabilities) const = 0; /** + * Get list of filesystem types present on any block devices. + * List elements are separated by blanks. + */ + virtual string getAllUsedFs() const = 0; + + /** * Print all detected entities to a stream. * Exact output format may change between releases. * Function mainly meant for debugging purposes. @@ -1939,10 +1945,8 @@ * Remove all possibly existing dm maps to a given device * * @param device device name for which dm maps should be removed - * @param also_evms flag if maps used by evms entities should also be removed - * @return bool true if maps to remove existed */ - virtual bool removeDmMapsTo( const string& device, bool also_evms ) = 0; + virtual void removeDmTableTo( const string& device ) = 0; /** * Detect potentially available free space on a partition diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/lvm/src/lvm_config.ycp new/yast2-storage-2.15.5/lvm/src/lvm_config.ycp --- old/yast2-storage-2.15.4/lvm/src/lvm_config.ycp 2006-03-23 14:01:33.000000000 +0100 +++ new/yast2-storage-2.15.5/lvm/src/lvm_config.ycp 2007-02-21 16:53:41.000000000 +0100 @@ -9,7 +9,7 @@ * Authors: * mike <mike@suse.de> * - * $Id: lvm_config.ycp 29327 2006-03-23 13:01:30Z fehr $ + * $Id: lvm_config.ycp 36352 2007-02-21 15:53:38Z fehr $ * */ @@ -101,6 +101,7 @@ ///////////////////////////////////////////////////////////////////////////////// Storage::SwitchUiAutomounter( true ); + Storage::SaveUsedFs(); if( result == `end ) { diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/storage/src/include/custom_part_helptexts.ycp new/yast2-storage-2.15.5/storage/src/include/custom_part_helptexts.ycp --- old/yast2-storage-2.15.4/storage/src/include/custom_part_helptexts.ycp 2007-01-11 19:16:06.000000000 +0100 +++ new/yast2-storage-2.15.5/storage/src/include/custom_part_helptexts.ycp 2007-02-22 18:24:07.000000000 +0100 @@ -20,7 +20,7 @@ * ************************************************************* - $Id: custom_part_helptexts.ycp 35243 2007-01-11 18:16:00Z fehr $ + $Id: custom_part_helptexts.ycp 36426 2007-02-22 17:24:04Z fehr $ */ @@ -57,19 +57,19 @@ </p> "); - if( tmpcrypt ) - { - helptext = helptext + _("<p> + + if (format) + { + if( tmpcrypt ) + { + helptext = helptext + _("<p> This mount point corresponds to a temporary filesystem like /tmp or /var/tmp. You may leave the crypt password empty. If you do this, the system will create a random password at system startup for you. This means, you will loose all data on these filesystems at system shutdown. </p> "); - } - - if (format) - { + } // help text, continued helptext = helptext + _("<p> If you forget your password, you will lose access to the data on your file system. diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/storage/src/include/custom_part_lib.ycp new/yast2-storage-2.15.5/storage/src/include/custom_part_lib.ycp --- old/yast2-storage-2.15.4/storage/src/include/custom_part_lib.ycp 2007-02-07 16:21:49.000000000 +0100 +++ new/yast2-storage-2.15.5/storage/src/include/custom_part_lib.ycp 2007-02-22 18:24:07.000000000 +0100 @@ -13,7 +13,7 @@ * ************************************************************* * - $Id: custom_part_lib.ycp 35951 2007-02-07 15:21:48Z fehr $ + $Id: custom_part_lib.ycp 36426 2007-02-22 17:24:04Z fehr $ * */ @@ -475,6 +475,25 @@ return( ret ); }; +define boolean EmptyCryptPwdAllowed( map p ) + { + boolean ret = p["format"]:false && + contains( union(FileSystems::tmp_m_mpoint,["swap"]), + p["mount"]:"" ); + ret = ret && Storage::IsPersistent( p ); + y2milestone( "EmptyCryptPwdAllowed ret:%1", ret ); + return( ret ); + } + +define boolean AskCryptPwd( map p ) + { + /* boolean ret = p["mount"]:""!="swap" || !EmptyCryptPwdAllowed(p); */ + boolean ret = true; + y2milestone( "AskCryptPwd ret:%1", ret ); + return( true ); + } + + /** * Do all checks concerning handling of crypt fs * @param new partition map @@ -492,11 +511,10 @@ new["enc_type"] = new["format"]:false?`luks:`twofish; else new["enc_type"] = `none; - if( crypt_fs && new["mount"]:""!="swap" && + if( crypt_fs && AskCryptPwd( new ) && size(Storage::GetCryptPwd( new["device"]:"" ))==0 ) { - boolean tmpc = new["format"]:false && - contains( FileSystems::tmp_m_mpoint, new["mount"]:"" ); + boolean tmpc = EmptyCryptPwdAllowed( new ); string fs_passwd = DlgCreateCryptFs( new["device"]:"", new["format"]:false?8:1, new["format"]:false, tmpc ); @@ -525,7 +543,7 @@ } else { - ret["ok"] = (new["mount"]:""=="swap") || tmpc; + ret["ok"] = tmpc; } } ret["map"] = new; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/storage/src/include/do_proposal_flexible.ycp new/yast2-storage-2.15.5/storage/src/include/do_proposal_flexible.ycp --- old/yast2-storage-2.15.4/storage/src/include/do_proposal_flexible.ycp 2007-02-13 15:57:23.000000000 +0100 +++ new/yast2-storage-2.15.5/storage/src/include/do_proposal_flexible.ycp 2007-02-19 17:05:30.000000000 +0100 @@ -14,7 +14,7 @@ * ************************************************************* - $Id: do_proposal_flexible.ycp 36102 2007-02-13 14:57:21Z fehr $ + $Id: do_proposal_flexible.ycp 36285 2007-02-19 16:05:29Z fehr $ */ { @@ -273,7 +273,7 @@ g["added"] = [ [ 1, gap[key,0]:0, cyl_num ] ]; g["cylinders"] = g["cylinders"]:0-cyl_num; gap[key] = remove( gap[key]:[], 0 ); - if( g["cylinders"]:0 > 0 ) + if( g["cylinders"]:0 > 1 ) { g["added"] = add( g["added"]:[], [ 0, gap[key,0]:0, g["cylinders"]:0 ] ); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/storage/src/inst_custom_part.ycp new/yast2-storage-2.15.5/storage/src/inst_custom_part.ycp --- old/yast2-storage-2.15.4/storage/src/inst_custom_part.ycp 2007-02-13 15:33:27.000000000 +0100 +++ new/yast2-storage-2.15.5/storage/src/inst_custom_part.ycp 2007-02-22 18:24:07.000000000 +0100 @@ -26,7 +26,7 @@ * ************************************************************* - $Id: inst_custom_part.ycp 36097 2007-02-13 14:33:26Z fehr $ + $Id: inst_custom_part.ycp 36426 2007-02-22 17:24:04Z fehr $ */ { @@ -1561,7 +1561,7 @@ } - map ret_cr = CheckCryptOk( retval ); + map ret_cr = CheckDeviceFinalOk( retval ); if( !ret_cr["ok"]:false ) { ret = `retry; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/storage/src/modules/FileSystems.ycp new/yast2-storage-2.15.5/storage/src/modules/FileSystems.ycp --- old/yast2-storage-2.15.4/storage/src/modules/FileSystems.ycp 2007-01-11 19:16:06.000000000 +0100 +++ new/yast2-storage-2.15.5/storage/src/modules/FileSystems.ycp 2007-02-19 14:09:40.000000000 +0100 @@ -7,7 +7,7 @@ * These module contains the supported filesystems and their settings. * * - * $Id: FileSystems.ycp 35243 2007-01-11 18:16:00Z fehr $ + * $Id: FileSystems.ycp 36260 2007-02-19 13:09:39Z fehr $ */ { module "FileSystems"; @@ -278,10 +278,10 @@ `help_text : _("<p><b>Data Journaling Mode:</b> Specifies the journaling mode for file data. <tt>journal</tt> -- All data is committed into the journal prior to being -written into the main file system. +written into the main file system. Highest performance impact.<br> <tt>ordered</tt> -- All data is forced directly out to the main file system -prior to its metadata being committed to the journal. -<tt>writeback</tt> -- Data ordering is not preserved.</p> +prior to its metadata being committed to the journal. Medium performance impact.<br> +<tt>writeback</tt> -- Data ordering is not preserved. No performanc impact.</p> "), `str_opt : "data=%1", `str_scan : "data=\(.*\)" diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/storage/src/modules/StorageDevices.ycp new/yast2-storage-2.15.5/storage/src/modules/StorageDevices.ycp --- old/yast2-storage-2.15.4/storage/src/modules/StorageDevices.ycp 2007-01-10 13:14:21.000000000 +0100 +++ new/yast2-storage-2.15.5/storage/src/modules/StorageDevices.ycp 2007-02-21 16:53:41.000000000 +0100 @@ -14,7 +14,7 @@ * - removable drives (ZIP) * - floppy devices * - * $Id: StorageDevices.ycp 35192 2007-01-10 12:14:16Z fehr $ + * $Id: StorageDevices.ycp 36352 2007-02-21 15:53:38Z fehr $ * * Author: * Klaus Kaempf <kkaempf@suse.de> (initial) @@ -241,7 +241,9 @@ { if (Stage::initial () || Stage::cont ()) { + y2milestone( "before SCR::Read (.probe.cdrom)" ); cddrives = (list<map>) SCR::Read (.probe.cdrom); + y2milestone( "after SCR::Read (.probe.cdrom)" ); // write out data for hardware status check foreach (map drive, cddrives, ``{ @@ -251,6 +253,7 @@ else { cddrives = []; + y2milestone( "before SCR::Read (.probe.cdrom)" ); foreach(map e, (list<map>) SCR::Read (.probe.cdrom), ``{ map conf = (map) SCR::Read(.probe.status, e["unique_key"]:""); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/storage/src/modules/Storage.ycp new/yast2-storage-2.15.5/storage/src/modules/Storage.ycp --- old/yast2-storage-2.15.4/storage/src/modules/Storage.ycp 2007-02-14 14:53:27.000000000 +0100 +++ new/yast2-storage-2.15.5/storage/src/modules/Storage.ycp 2007-02-22 18:34:21.000000000 +0100 @@ -19,7 +19,7 @@ * wurde versucht "intelligent" zu gestallten und ist im einzelen bei den * entspechenden Funktionen n�her erkl�rt. * - * $Id: Storage.ycp 36137 2007-02-14 13:53:25Z fehr $ + * $Id: Storage.ycp 36429 2007-02-22 17:34:19Z fehr $ */ { @@ -3188,7 +3188,7 @@ { y2milestone( "RemoveDmMapsTo device:%1", device ); InitLibstorage(); - LibStorage::StorageInterface::removeDmMapsTo( sint, device, true ); + LibStorage::StorageInterface::removeDmTableTo( sint, device ); } global define boolean CheckSwapable( string dev ) @@ -6080,7 +6080,6 @@ } boolean expert_detail = nil; -path ed_path = .sysconfig.storage.EXPERT_DETAIL; list FindExpertLine( map file ) { @@ -6120,7 +6119,7 @@ expert_detail = val; } -global boolean SaveExpertDetail() +global void SaveExpertDetail() { y2milestone( "SaveExpertDetail val:%1", expert_detail ); if( expert_detail!=nil ) @@ -6160,4 +6159,62 @@ return( ret ); } +global string GetUsedFs() + { + InitLibstorage(); + string r = LibStorage::StorageInterface::getAllUsedFs( sint ); + list<string> lr = sort(splitstring(r," \t")); + r = mergestring( lr, " " ); + y2milestone( "GetUsedFs ret:%1", r ); + return( r ); + } + +list FindUsedFsLine( map file ) + { + list ret = []; + list<list> t = maplist( integer k, map e, file["l"]:$[], + ``([k, e["line"]:""])); + t = filter( list e, t, ``(search(e[1]:"","USED_FS_LIST")==0)); + y2milestone( "FindUsedFsLine t:%1", t ); + ret = t[0]:[]; + y2milestone( "FindUsedFsLine ret:%1", ret ); + return( ret ); + } + +global void SaveUsedFs() + { + y2milestone( "SaveUsedFs" ); + string s = GetUsedFs(); + map file = $[]; + AsciiFile::ReadFile( file, "/etc/sysconfig/storage" ); + list l = FindUsedFsLine( file ); + string e = "USED_FS_LIST=\"" + s + "\""; + integer lineno = l[0]:(size(file["l"]:$[]) + 1); + if( size(l)==0 ) + file["l",lineno] = $[]; + if( file["l",lineno,"line"]:""!=e ) + { + file["l",lineno,"line"] = e; + file["l",lineno,"changed"] = true; + AsciiFile::RewriteFile( file, "/etc/sysconfig/storage" ); + } + } + +global boolean Storage::IsPersistent( map p ) + { + boolean ret = contains( [ `lvm, `sw_raid, `dm ], p["type"]:`unknown ); + if( !ret && contains( [ `evms, `primary, `logical, `extended ], + p["type"]:`unknown )) + { + map d = GetDisk( GetTargetMap(), p["device"]:"" ); + if( p["type"]:`unknown==`evms ) + ret = d["is_container"]:false || p["evms_native"]:false; + else + ret = d["type"]:`CT_UNKNONW==`CT_DMRAID || + size(d["udev_id"]:[])>0; + } + y2milestone( "IsPersistent device:%1 ret:%2", p["device"]:"", ret ); + return( ret ); + } + } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/storage/src/proposal/partitions_proposal.ycp new/yast2-storage-2.15.5/storage/src/proposal/partitions_proposal.ycp --- old/yast2-storage-2.15.4/storage/src/proposal/partitions_proposal.ycp 2006-04-10 11:45:03.000000000 +0200 +++ new/yast2-storage-2.15.5/storage/src/proposal/partitions_proposal.ycp 2007-02-21 16:53:41.000000000 +0100 @@ -1,7 +1,7 @@ /** * Module: proposal_partitions.ycp * - * $Id: partitions_proposal.ycp 29761 2006-04-05 16:36:41Z fehr $ + * $Id: partitions_proposal.ycp 36352 2007-02-21 15:53:38Z fehr $ * * Author: Klaus Kaempf <kkaempf@suse.de> * @@ -30,6 +30,10 @@ { Pkg::DoProvide( pack ); } + if( Stage::initial() ) + { + Storage::SaveUsedFs(); + } } y2milestone( "func:%1 param:%2", func, param ); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.4/VERSION new/yast2-storage-2.15.5/VERSION --- old/yast2-storage-2.15.4/VERSION 2007-02-15 16:20:25.000000000 +0100 +++ new/yast2-storage-2.15.5/VERSION 2007-02-26 16:27:18.000000000 +0100 @@ -1 +1 @@ -2.15.4 +2.15.5 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de