Hello community,
here is the log from the commit of package yast2-storage
checked in at Fri Feb 2 16:12:54 CET 2007.
--------
--- yast2-storage/yast2-storage.changes 2007-01-18 15:25:21.000000000 +0100
+++ /mounts/work_src_done/STABLE/yast2-storage/yast2-storage.changes 2007-01-31 20:49:26.000000000 +0100
@@ -1,0 +2,20 @@
+Wed Jan 31 20:48:33 CET 2007 - fehr@suse.de
+
+- fix problems handling EVMS setups on S390 (#235902)
+- make close window button work in LVM config tool (#240271)
+- fix problem with PPC prep boot and EVMS (#235774)
+- version 2.15.3
+
+-------------------------------------------------------------------
+Tue Jan 30 16:49:07 CET 2007 - fehr@suse.de
+
+- temporary stop hald while parted is called (#224516)
+- prevent needless update of Storage::GetTargetChangeTime() (#237112)
+
+-------------------------------------------------------------------
+Mon Jan 29 15:44:44 CET 2007 - fehr@suse.de
+
+- fix bug with wrong mountby fallback for newly created partitions
+ (#239473)
+
+-------------------------------------------------------------------
@@ -4 +24 @@
-- fix bug removing re-creating multiple LVs with same name (#234031)
+- fix bug removing and re-creating multiple LVs with same name (#234031)
Old:
----
yast2-storage-2.15.2.tar.bz2
New:
----
yast2-storage-2.15.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-storage.spec ++++++
--- /var/tmp/diff_new_pack.Nr9234/_old 2007-02-02 16:11:50.000000000 +0100
+++ /var/tmp/diff_new_pack.Nr9234/_new 2007-02-02 16:11:50.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-storage (Version 2.15.2)
+# spec file for package yast2-storage (Version 2.15.3)
#
# 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.2
+Version: 2.15.3
Release: 1
License: GNU General Public License (GPL)
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-storage-2.15.2.tar.bz2
+Source0: yast2-storage-2.15.3.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.2
+%setup -n yast2-storage-2.15.3
%build
%{prefix}/bin/y2tool y2autoconf
@@ -165,8 +165,19 @@
%doc %{prefix}/share/doc/packages/yast2-storage/config.xml.description
%changelog -n yast2-storage
+* Wed Jan 31 2007 - fehr@suse.de
+- fix problems handling EVMS setups on S390 (#235902)
+- make close window button work in LVM config tool (#240271)
+- fix problem with PPC prep boot and EVMS (#235774)
+- version 2.15.3
+* Tue Jan 30 2007 - fehr@suse.de
+- temporary stop hald while parted is called (#224516)
+- prevent needless update of Storage::GetTargetChangeTime() (#237112)
+* Mon Jan 29 2007 - fehr@suse.de
+- fix bug with wrong mountby fallback for newly created partitions
+ (#239473)
* Thu Jan 18 2007 - fehr@suse.de
-- fix bug removing re-creating multiple LVs with same name (#234031)
+- fix bug removing and re-creating multiple LVs with same name (#234031)
- version 2.15.2
* Wed Jan 17 2007 - fehr@suse.de
- use udev id in /etc/crypttab instead of kernel name
++++++ yast2-storage-2.15.2.tar.bz2 -> yast2-storage-2.15.3.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.2/libstorage/src/Dasd.h new/yast2-storage-2.15.3/libstorage/src/Dasd.h
--- old/yast2-storage-2.15.2/libstorage/src/Dasd.h 2006-05-09 13:03:23.000000000 +0200
+++ new/yast2-storage-2.15.3/libstorage/src/Dasd.h 2007-01-31 14:21:59.000000000 +0100
@@ -36,6 +36,7 @@
enum DasdFormat { DASDF_NONE, DASDF_LDL, DASDF_CDL };
virtual void print( std::ostream& s ) const { s << *this; }
+ virtual Container* getCopy() const { return( new Dasd( *this ) ); }
bool detectPartitionsFdasd(ProcPart& ppart);
bool detectPartitions( ProcPart& ppart );
bool checkFdasdOutput( SystemCmd& Cmd, ProcPart& ppart );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.2/libstorage/src/Disk.cc new/yast2-storage-2.15.3/libstorage/src/Disk.cc
--- old/yast2-storage-2.15.2/libstorage/src/Disk.cc 2007-01-11 16:25:44.000000000 +0100
+++ new/yast2-storage-2.15.3/libstorage/src/Disk.cc 2007-01-30 16:50:48.000000000 +0100
@@ -552,10 +552,12 @@
int Disk::execCheckFailed( SystemCmd& cmd, const string& cmd_line )
{
+ getStorage()->handleHald(true);
cmd.execute( cmd_line );
int ret = checkSystemError( cmd_line, cmd );
if( ret!=0 )
setExtError( cmd );
+ getStorage()->handleHald(false);
return( ret );
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.2/libstorage/src/Disk.h new/yast2-storage-2.15.3/libstorage/src/Disk.h
--- old/yast2-storage-2.15.2/libstorage/src/Disk.h 2006-12-05 14:11:58.000000000 +0100
+++ new/yast2-storage-2.15.3/libstorage/src/Disk.h 2007-01-31 20:49:00.000000000 +0100
@@ -188,6 +188,7 @@
void removeFromMemory();
static bool notDeleted( const Partition&d ) { return( !d.deleted() ); }
+ static bool bootSpecial( const Partition&d ) { return( !d.deleted()&&d.id()==0x41 ); }
virtual int doCreate( Volume* v );
virtual int doRemove( Volume* v );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.2/libstorage/src/Storage.cc new/yast2-storage-2.15.3/libstorage/src/Storage.cc
--- old/yast2-storage-2.15.2/libstorage/src/Storage.cc 2007-01-17 19:52:57.000000000 +0100
+++ new/yast2-storage-2.15.3/libstorage/src/Storage.cc 2007-01-31 20:49:00.000000000 +0100
@@ -11,6 +11,7 @@
#include
#include
#include
+#include
#include <fstream>
#include <sstream>
@@ -81,6 +82,7 @@
char * tenv = getenv( "YAST_IS_RUNNING" );
inst_sys = tenv!=NULL && strcmp(tenv,"instsys")==0;
root_mounted = !inst_sys;
+ hald_pid = 0;
if( !testmode )
testmode = getenv( "YAST2_STORAGE_TMODE" )!=NULL;
max_log_num = 5;
@@ -1993,6 +1995,12 @@
else
{
mby = defaultMountBy;
+ pair dp = Disk::getDiskPartition(device);
+ y2mil( "dp:" << dp );
+ DiskIterator i = findDisk( dp.first );
+ if( (i==dEnd()) || (mby == MOUNTBY_ID && i->udevId().empty()) ||
+ (mby == MOUNTBY_PATH && i->udevPath().empty()))
+ mby = MOUNTBY_DEVICE;
ret = STORAGE_VOLUME_NOT_FOUND;
}
y2milestone( "ret:%d mby:%s", ret, Volume::mbyTypeString(mby).c_str());
@@ -3672,6 +3680,33 @@
y2milestone( "%s", b.str().c_str() );
}
+void Storage::handleHald( bool stop )
+ {
+ y2mil( "stop:" << stop );
+ int ret;
+ if( stop )
+ {
+ hald_pid = 0;
+ SystemCmd c( "ps ax | grep -w /usr/sbin/hald | grep -v grep" );
+ if( c.numLines()>0 )
+ {
+ extractNthWord( 0, *c.getLine(0) ) >> hald_pid;
+ y2mil( "hald_pid:" << hald_pid );
+ }
+ if( hald_pid>0 )
+ {
+ ret = kill( hald_pid, SIGSTOP );
+ y2mil( "ret kill:" << ret << " pid:" << hald_pid );
+ }
+ }
+ else if( !stop && hald_pid>0 )
+ {
+ ret = kill( hald_pid, SIGCONT );
+ y2mil( "ret kill:" << ret << " pid:" << hald_pid );
+ }
+ }
+
+
static bool notLoop( const Container& c ) { return( c.type()!=LOOP ); }
static bool fstabAdded( const Volume& v ) { return( v.fstabAdded()); }
@@ -3834,6 +3869,7 @@
list co;
list vol;
list<string> save_disks;
+ list<string> dev_dm_remove;
y2milestone( "evmsActivateDevices start" );
CPair p = cPair( needSaveFromEvms );
@@ -3843,6 +3879,17 @@
i->getToCommit( FORMAT, co, vol );
i->getToCommit( MOUNT, co, vol );
++i;
+ Disk* disk;
+ if( i->type()==DISK && (disk = dynamic_cast(&(*i)))!=NULL )
+ {
+ Disk::PartPair dp = disk->partPair(Disk::bootSpecial);
+ for (Disk::PartIter i2 = dp.begin(); i2 != dp.end(); ++i2)
+ {
+ y2mil( "boot:" << *i2 );
+ dev_dm_remove.push_back(i2->device());
+ vol.push_back( &(*i2) );
+ }
+ }
}
if( !vol.empty() )
{
@@ -3892,7 +3939,13 @@
}
EvmsCo::activateDevices();
if( !vol.empty() )
+ {
removeDmTable( tblname );
+ y2mil( "dev_dm_remove:" << dev_dm_remove );
+ for( list<string>::const_iterator i=dev_dm_remove.begin();
+ i!=dev_dm_remove.end(); ++i )
+ removeDmTableTo( *i );
+ }
updateDmEmptyPeMap();
}
@@ -4514,7 +4567,23 @@
y2mil( "dev:" << vol.device() );
removeDmMapsTo( vol.device() );
if( vol.cType()==DISK )
+ {
removeDmMapsTo( vol.getContainer()->device() );
+ if( vol.getContainer()->majorNr()>0 )
+ {
+ string cmd = "dmsetup table | grep -w ";
+ cmd += decString(vol.getContainer()->majorNr()) + ":" +
+ decString(vol.getContainer()->minorNr());
+ cmd += " | sed s/:.*// | uniq";
+ SystemCmd c( cmd );
+ unsigned line=0;
+ while( line& dl );
int commit();
+ void handleHald( bool stop );
void activateHld( bool val=true );
void removeDmTableTo( const Volume& vol );
void removeDmTableTo( const string& device );
@@ -1623,6 +1624,7 @@
string tempdir;
string rootprefix;
string logdir;
+ unsigned hald_pid;
static string proc_arch;
static string sysfs_dir;
static bool is_ppc_mac;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.2/libstorage/src/Volume.cc new/yast2-storage-2.15.3/libstorage/src/Volume.cc
--- old/yast2-storage-2.15.2/libstorage/src/Volume.cc 2007-01-18 12:09:55.000000000 +0100
+++ new/yast2-storage-2.15.3/libstorage/src/Volume.cc 2007-01-31 14:21:59.000000000 +0100
@@ -1532,7 +1532,7 @@
bool Volume::needFstabUpdate() const
{
- bool ret = !ignore_fstab &&
+ bool ret = !ignore_fstab && !(mp.empty() && orig_mp.empty()) &&
(fstab_opt!=orig_fstab_opt || mount_by!=orig_mount_by ||
encryption!=orig_encryption);
return( ret );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.2/lvm/src/lvm_config_ui.ycp new/yast2-storage-2.15.3/lvm/src/lvm_config_ui.ycp
--- old/yast2-storage-2.15.2/lvm/src/lvm_config_ui.ycp 2006-09-20 12:26:33.000000000 +0200
+++ new/yast2-storage-2.15.3/lvm/src/lvm_config_ui.ycp 2007-01-31 14:50:34.000000000 +0100
@@ -9,7 +9,7 @@
* Authors:
* mike
*
- * $Id: lvm_config_ui.ycp 33002 2006-09-20 10:28:09Z fehr $
+ * $Id: lvm_config_ui.ycp 35741 2007-01-31 13:50:32Z fehr $
*
*
*----------------------------------------------------
@@ -431,7 +431,7 @@
Storage::SetLvmViewAllMnt( view_all_mnts );
}
- } until (ret == `finish || ret == `apply || ret == `abort);
+ } until (ret == `finish || ret == `apply || ret == `abort || ret == `cancel);
y2milestone( "END_ %1", ret);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.2/storage/src/include/do_proposal_flexible.ycp new/yast2-storage-2.15.3/storage/src/include/do_proposal_flexible.ycp
--- old/yast2-storage-2.15.2/storage/src/include/do_proposal_flexible.ycp 2007-01-15 15:43:11.000000000 +0100
+++ new/yast2-storage-2.15.3/storage/src/include/do_proposal_flexible.ycp 2007-01-31 20:50:11.000000000 +0100
@@ -14,7 +14,7 @@
*
*************************************************************
- $Id: do_proposal_flexible.ycp 35350 2007-01-15 14:43:07Z fehr $
+ $Id: do_proposal_flexible.ycp 35749 2007-01-31 19:50:08Z fehr $
*/
{
@@ -2182,10 +2182,11 @@
y2milestone( "can_swap_reuse tg wo %1", tg );
foreach( string dev, map disk, tg,
``{
- list sw = filter( map p, disk["partitions"]:[],
+ list<map> sw = filter( map p, disk["partitions"]:[],
``(p["type"]:`unknown!=`extended &&
!p["delete"]:false &&
p["detected_fs"]:`unknown==`swap));
+ sw = filter( map p, sw, ``(Storage::CheckSwapable(p["device"]:"")));
y2milestone( "can_swap_reuse disk %1 sw %2", dev, sw );
swaps = (list<map>)union( swaps, sw );
});
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.2/storage/src/inst_custom_part.ycp new/yast2-storage-2.15.3/storage/src/inst_custom_part.ycp
--- old/yast2-storage-2.15.2/storage/src/inst_custom_part.ycp 2007-01-17 19:53:53.000000000 +0100
+++ new/yast2-storage-2.15.3/storage/src/inst_custom_part.ycp 2007-01-30 18:20:04.000000000 +0100
@@ -26,7 +26,7 @@
*
*************************************************************
- $Id: inst_custom_part.ycp 35460 2007-01-17 18:53:49Z fehr $
+ $Id: inst_custom_part.ycp 35706 2007-01-30 17:20:02Z fehr $
*/
{
@@ -3539,6 +3539,7 @@
if( changed )
{
Storage::SetPartMode( "CUSTOM" );
+ Storage::UpdateChangeTime();
}
}
if ( ret == `next )
@@ -3604,6 +3605,8 @@
if( ret == `raid_settings || ret == `raid_wizard )
Storage::Record();
+ y2milestone( "ChangeTime %1", Storage::GetTargetChangeTime() );
+
return ret;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.2/storage/src/modules/Storage.ycp new/yast2-storage-2.15.3/storage/src/modules/Storage.ycp
--- old/yast2-storage-2.15.2/storage/src/modules/Storage.ycp 2007-01-17 19:53:53.000000000 +0100
+++ new/yast2-storage-2.15.3/storage/src/modules/Storage.ycp 2007-01-30 18:20:04.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 35460 2007-01-17 18:53:49Z fehr $
+ * $Id: Storage.ycp 35706 2007-01-30 17:20:02Z fehr $
*/
{
@@ -530,9 +530,10 @@
return( GetDiskPartitionTg( device, GetTargetMap() ));
};
-void UpdateChangeTime()
+global void UpdateChangeTime()
{
integer change_time = time();
+ y2milestone( "UpdateChangeTime time %1", change_time );
StorageMap["targets_time"] = change_time;
}
@@ -1594,7 +1595,6 @@
}
});
StorageMap[targets_key] = tg;
- UpdateChangeTime();
//SCR::Write(.target.ycp, "/tmp/upd_all_aft_"+sformat("%1",count), StorageMap[targets_key]:$[] );
//count = count+1;
}
@@ -1621,7 +1621,6 @@
tg[dev] = getContainerInfo(c);
}
StorageMap[targets_key] = tg;
- UpdateChangeTime();
//SCR::Write(.target.ycp, "/tmp/upd_disk_aft_"+sformat("%1",count), StorageMap[targets_key]:$[] );
//count = count+1;
}
@@ -1671,7 +1670,6 @@
else
y2error( "UpdateTargetMapDev key %1 not found in target", disk["device"]:"" );
StorageMap[targets_key] = tg;
- UpdateChangeTime();
//SCR::Write(.target.ycp, "/tmp/upd_dev_aft_"+sformat("%1",count), StorageMap[targets_key]:$[] );
//count = count+1;
}
@@ -3313,7 +3311,6 @@
SetRecursiveRemoval(true);
//SCR::Write(.target.ycp, Storage::SaveDumpPath("targetMap_set_"+sformat("%1",count)), target );
//count = count+1;
- integer old_change_time = StorageMap["targets_time"]:0;
CreateTargetBackup("tmp_set");
map tg = GetTargetMap();
list<string> keys = maplist( string k, any e, target, ``(k));
@@ -3484,9 +3481,10 @@
});
boolean changed = !EqualBackupStates( "tmp_set", "", true );
y2milestone( "SetTargetMap changed:%1", changed );
- if( !changed )
- StorageMap["targets_time"] = old_change_time;
+ if( changed )
+ UpdateChangeTime();
DisposeTargetBackup("tmp_set");
+ y2milestone( "SetTargetMap ChangeTime %1", GetTargetChangeTime() );
};
global define map ReReadTargetMap()
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.15.2/VERSION new/yast2-storage-2.15.3/VERSION
--- old/yast2-storage-2.15.2/VERSION 2007-01-18 15:25:27.000000000 +0100
+++ new/yast2-storage-2.15.3/VERSION 2007-01-31 20:49:12.000000000 +0100
@@ -1 +1 @@
-2.15.2
+2.15.3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org