Hello community,
here is the log from the commit of package yast2-storage
checked in at Fri Oct 24 17:21:04 CEST 2008.
--------
--- yast2-storage/yast2-storage.changes 2008-10-24 10:42:03.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-storage/yast2-storage.changes 2008-10-24 15:57:25.998364000 +0200
@@ -1,0 +2,16 @@
+Fri Oct 24 15:13:55 CEST 2008 - kmachalkova@suse.cz
+
+- Fixed handling NFS shares - use library functions if possible
+ (adding, deleting) instead of SetTargetMap (bnc#433053)
+- Mark [yast2-]nfs-client for installation if some NFS dirs are
+ mounted in 1st stage (bnc#436897 related)
+- 2.17.44
+
+-------------------------------------------------------------------
+Fri Oct 24 11:50:14 CEST 2008 - aschnell@suse.de
+
+- encrypt crypt files per default (bnc #438047)
+- fixed raid detection (bnc #438644)
+- started work on start/stop of multipath (bnc #438055)
+
+-------------------------------------------------------------------
@@ -3775 +3791 @@
-- show disk selection instead of exptert dialog if part proposal
+- show disk selection instead of expert dialog if part proposal
@@ -4328 +4344 @@
-- exptend check for mount points in CheckOkMount (#19147)
+- extend check for mount points in CheckOkMount (#19147)
calling whatdependson for head-i586
Old:
----
yast2-storage-2.17.43.tar.bz2
New:
----
yast2-storage-2.17.44.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-storage.spec ++++++
--- /var/tmp/diff_new_pack.M19842/_old 2008-10-24 17:20:45.000000000 +0200
+++ /var/tmp/diff_new_pack.M19842/_new 2008-10-24 17:20:45.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-storage (Version 2.17.43)
+# spec file for package yast2-storage (Version 2.17.44)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,12 +19,12 @@
Name: yast2-storage
-Version: 2.17.43
+Version: 2.17.44
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-storage-2.17.43.tar.bz2
+Source0: yast2-storage-2.17.44.tar.bz2
Prefix: /usr
BuildRequires: blocxx-devel boost-devel docbook-xsl-stylesheets doxygen gcc-c++ libxcrypt-devel libxslt openssl-devel perl-XML-Writer sablot sgml-skel swig update-desktop-files yast2 yast2-core-devel yast2-devtools yast2-perl-bindings yast2-testsuite
Requires: parted yast2-storage-lib = %version yast2-perl-bindings mdadm lvm2 dmraid multipath-tools kpartx cryptsetup
@@ -58,7 +58,7 @@
Arvin Schnell
%prep
-%setup -n yast2-storage-2.17.43
+%setup -n yast2-storage-2.17.44
%build
%{prefix}/bin/y2tool y2autoconf
@@ -182,6 +182,16 @@
%doc %{prefix}/share/doc/packages/yast2-storage/libstorage
%doc %{prefix}/share/doc/packages/yast2-storage/config.xml.description
%changelog
+* Fri Oct 24 2008 kmachalkova@suse.cz
+- Fixed handling NFS shares - use library functions if possible
+ (adding, deleting) instead of SetTargetMap (bnc#433053)
+- Mark [yast2-]nfs-client for installation if some NFS dirs are
+ mounted in 1st stage (bnc#436897 related)
+- 2.17.44
+* Fri Oct 24 2008 aschnell@suse.de
+- encrypt crypt files per default (bnc #438047)
+- fixed raid detection (bnc #438644)
+- started work on start/stop of multipath (bnc #438055)
* Thu Oct 23 2008 aschnell@suse.de
- adapted parsing of /sbin/multipath (bnc #438206)
- show file system label in some tables (bnc #434780)
@@ -2247,7 +2257,7 @@
- improve text in lvm error popup (#31409)
- fix help text for editing existing partition (#31046)
* Fri Sep 26 2003 fehr@suse.de
-- show disk selection instead of exptert dialog if part proposal
+- show disk selection instead of expert dialog if part proposal
is impossible
* Mon Sep 22 2003 fehr@suse.de
- work around deactivation of md root fs (#31617)
@@ -2557,7 +2567,7 @@
* Mon Sep 09 2002 fehr@suse.de
- do not add default windows mount points if users decides to
create its own partition setup
-- exptend check for mount points in CheckOkMount (#19147)
+- extend check for mount points in CheckOkMount (#19147)
- reset format flag if partition get part of MD or LVM (#19190)
- version 2.6.32
* Mon Sep 09 2002 kukuk@suse.de
++++++ yast2-storage-2.17.43.tar.bz2 -> yast2-storage-2.17.44.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/configure new/yast2-storage-2.17.44/configure
--- old/yast2-storage-2.17.43/configure 2008-10-24 10:40:47.000000000 +0200
+++ new/yast2-storage-2.17.44/configure 2008-10-24 15:56:44.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for yast2-storage 2.17.43.
+# Generated by GNU Autoconf 2.61 for yast2-storage 2.17.44.
#
# Report bugs to http://bugs.opensuse.org/.
#
@@ -728,8 +728,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-storage'
PACKAGE_TARNAME='yast2-storage'
-PACKAGE_VERSION='2.17.43'
-PACKAGE_STRING='yast2-storage 2.17.43'
+PACKAGE_VERSION='2.17.44'
+PACKAGE_STRING='yast2-storage 2.17.44'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1449,7 +1449,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-storage 2.17.43 to adapt to many kinds of systems.
+\`configure' configures yast2-storage 2.17.44 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1520,7 +1520,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-storage 2.17.43:";;
+ short | recursive ) echo "Configuration of yast2-storage 2.17.44:";;
esac
cat <<\_ACEOF
@@ -1630,7 +1630,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-storage configure 2.17.43
+yast2-storage configure 2.17.44
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1644,7 +1644,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-storage $as_me 2.17.43, which was
+It was created by yast2-storage $as_me 2.17.44, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2465,7 +2465,7 @@
# Define the identity of the package.
PACKAGE='yast2-storage'
- VERSION='2.17.43'
+ VERSION='2.17.44'
cat >>confdefs.h <<_ACEOF
@@ -2693,7 +2693,7 @@
-VERSION="2.17.43"
+VERSION="2.17.44"
RPMNAME="yast2-storage"
MAINTAINER="Arvin Schnell "
@@ -21746,7 +21746,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-storage $as_me 2.17.43, which was
+This file was extended by yast2-storage $as_me 2.17.44, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21799,7 +21799,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-storage config.status 2.17.43
+yast2-storage config.status 2.17.44
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/configure.in new/yast2-storage-2.17.44/configure.in
--- old/yast2-storage-2.17.43/configure.in 2008-10-24 10:40:33.000000000 +0200
+++ new/yast2-storage-2.17.44/configure.in 2008-10-24 15:56:29.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.17.6 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-storage, 2.17.43, http://bugs.opensuse.org/, yast2-storage)
+AC_INIT(yast2-storage, 2.17.44, http://bugs.opensuse.org/, yast2-storage)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.17.43"
+VERSION="2.17.44"
RPMNAME="yast2-storage"
MAINTAINER="Arvin Schnell "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/Dmmultipath.cc new/yast2-storage-2.17.44/libstorage/src/Dmmultipath.cc
--- old/yast2-storage-2.17.43/libstorage/src/Dmmultipath.cc 2008-09-12 11:32:34.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/Dmmultipath.cc 2008-10-24 11:17:01.000000000 +0200
@@ -177,7 +177,7 @@
// %2$s is replaced by size (e.g. 623.5 MB)
txt = sformat( _("Extending multipath partition %1$s to %2$s"), d.c_str(), sizeString().c_str() );
// text displayed during action
- txt += ' ' + _("(progress bar might not move)");
+ txt += string(" ") + _("(progress bar might not move)");
}
else
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/DmmultipathCo.cc new/yast2-storage-2.17.44/libstorage/src/DmmultipathCo.cc
--- old/yast2-storage-2.17.43/libstorage/src/DmmultipathCo.cc 2008-10-23 16:18:06.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/DmmultipathCo.cc 2008-10-24 15:15:25.000000000 +0200
@@ -124,50 +124,79 @@
void
-DmmultipathCo::getMultipaths( list<string>& l )
+DmmultipathCo::activate(bool val)
{
- l.clear();
+ y2mil("old active:" << active << " val:" << val);
- string line;
- unsigned i=0;
- SystemCmd c(MULTIPATHBIN " -d -v 2+ -ll");
- if( i 0)
+ {
+ active = true;
- list<string> mp_list;
+ string line;
+ unsigned i=0;
- if( ++i= 1)
- {
- l.push_back(unit);
+ while( i= 1)
+ {
+ l.push_back(unit);
+ }
}
}
- y2mil("ret:" << l);
+ y2mil("detected multipaths " << l);
}
@@ -247,3 +276,6 @@
}
void DmmultipathCo::logData( const string& Dir ) {}
+
+bool DmmultipathCo::active = false;
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/DmmultipathCo.h new/yast2-storage-2.17.44/libstorage/src/DmmultipathCo.h
--- old/yast2-storage-2.17.43/libstorage/src/DmmultipathCo.h 2008-08-28 11:04:17.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/DmmultipathCo.h 2008-10-24 14:43:11.000000000 +0200
@@ -95,6 +95,7 @@
static string undevName( const string& name );
+ static void activate( bool val=true );
static void getMultipaths( std::list<string>& l );
static bool multipathNotDeleted( const Dmmultipath&d ) { return( !d.deleted() ); }
@@ -102,6 +103,8 @@
string vendor;
string model;
+
+ static bool active;
};
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/Dmraid.cc new/yast2-storage-2.17.44/libstorage/src/Dmraid.cc
--- old/yast2-storage-2.17.43/libstorage/src/Dmraid.cc 2008-09-12 11:30:45.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/Dmraid.cc 2008-10-24 11:16:41.000000000 +0200
@@ -177,7 +177,7 @@
// %2$s is replaced by size (e.g. 623.5 MB)
txt = sformat( _("Extending raid partition %1$s to %2$s"), d.c_str(), sizeString().c_str() );
// text displayed during action
- txt += ' ' + _("(progress bar might not move)");
+ txt += string(" ") + _("(progress bar might not move)");
}
else
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/LvmLv.cc new/yast2-storage-2.17.44/libstorage/src/LvmLv.cc
--- old/yast2-storage-2.17.43/libstorage/src/LvmLv.cc 2008-09-01 17:04:53.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/LvmLv.cc 2008-10-24 11:16:11.000000000 +0200
@@ -268,7 +268,7 @@
// %2$s is replaced by size (e.g. 623.5 MB)
txt = sformat( _("Extending logical volume %1$s to %2$s"), dev.c_str(), sizeString().c_str() );
// text displayed during action
- txt += ' ' + _("(progress bar might not move)");
+ txt += string(" ") + _("(progress bar might not move)");
}
else
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/LvmVg.cc new/yast2-storage-2.17.44/libstorage/src/LvmVg.cc
--- old/yast2-storage-2.17.43/libstorage/src/LvmVg.cc 2008-09-04 10:34:47.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/LvmVg.cc 2008-10-24 15:08:18.000000000 +0200
@@ -2,8 +2,8 @@
Textdomain "storage"
*/
-#include <iostream>
-#include <sstream>
+#include <iostream>
+#include <sstream>
#include "y2storage/LvmVg.h"
#include "y2storage/LvmLv.h"
@@ -114,10 +114,10 @@
while( ret==0 && i!=devs.end() )
{
string d = normalizeDevice( *i );
- if( (p=find( pv.begin(), pv.end(), d ))!=pv.end() ||
+ if( (p=find( pv.begin(), pv.end(), d ))!=pv.end() ||
(p=find( pv_add.begin(), pv_add.end(), d ))!=pv_add.end())
ret = LVM_PV_ALREADY_CONTAINED;
- else if( (p=find( pv_remove.begin(), pv_remove.end(), d )) !=
+ else if( (p=find( pv_remove.begin(), pv_remove.end(), d )) !=
pv_remove.end() && !getStorage()->deletedDevice( d ) )
{
}
@@ -136,7 +136,7 @@
{
string d = normalizeDevice( *i );
unsigned long pe = 0;
- if( (p=find( pv_remove.begin(), pv_remove.end(), d )) !=
+ if( (p=find( pv_remove.begin(), pv_remove.end(), d )) !=
pv_remove.end() && !getStorage()->deletedDevice( d ) )
{
pv.push_back( *p );
@@ -219,7 +219,7 @@
}
-int
+int
LvmVg::setPeSize( long long unsigned peSizeK )
{
int ret = 0;
@@ -243,7 +243,7 @@
return( ret );
}
-int
+int
LvmVg::createLv( const string& name, unsigned long long sizeK, unsigned stripe,
string& device )
{
@@ -370,7 +370,7 @@
return( removeLv( v->name() ));
}
-int
+int
LvmVg::removeLv( const string& name )
{
int ret = 0;
@@ -419,7 +419,7 @@
return( ret );
}
-int
+int
LvmVg::changeStripe( const string& name, unsigned long stripe )
{
int ret = 0;
@@ -463,7 +463,7 @@
free_pe -= num_le;
i->setStripes( stripe );
}
- else
+ else
free_pe -= i->getLe();
}
}
@@ -471,7 +471,7 @@
return( ret );
}
-int
+int
LvmVg::changeStripeSize( const string& name, unsigned long long stripeSize )
{
int ret = 0;
@@ -590,7 +590,7 @@
if (ret == 0)
{
ret = removeLv(name);
- }
+ }
y2mil("ret:" << ret);
return ret;
}
@@ -652,7 +652,7 @@
{
bool lv1 = extractNthWord( 1, line )=="lvm1";
if( exists && lv1 != lvm1 )
- y2warning( "inconsistent lvm1 my:%d lvm:%d",
+ y2warning( "inconsistent lvm1 my:%d lvm:%d",
lvm1, lv1 );
lvm1 = lv1;
}
@@ -665,7 +665,7 @@
tmp.erase( pos );
tmp >> pes;
if( exists && pes != pe_size )
- y2warning( "inconsistent pe_size my:%llu lvm:%llu",
+ y2warning( "inconsistent pe_size my:%llu lvm:%llu",
pe_size, pes );
pe_size = pes;
}
@@ -801,7 +801,7 @@
num_lv++;
//cout << "Created:" << *i << endl;
map pe_map;
- if( addLvPeDistribution( i->getLe(), i->stripes(), pv, pv_add,
+ if( addLvPeDistribution( i->getLe(), i->stripes(), pv, pv_add,
pe_map ) == 0 )
i->setPeMap( pe_map );
free_pe -= i->getLe();
@@ -814,7 +814,7 @@
long size_diff = i->getLe() - sizeToLe(i->origSizeK());
if( size_diff>0 )
{
- if( addLvPeDistribution( size_diff, i->stripes(), pv, pv_add,
+ if( addLvPeDistribution( size_diff, i->stripes(), pv, pv_add,
pe_map ) == 0 )
i->setPeMap( pe_map );
}
@@ -832,7 +832,7 @@
}
}
-void LvmVg::addLv(unsigned long& le, string& name, string& origin, string& uuid,
+void LvmVg::addLv(unsigned long& le, string& name, string& origin, string& uuid,
string& status, string& alloc, bool& ro)
{
y2milestone( "addLv:%s", name.c_str() );
@@ -885,7 +885,7 @@
}
}
name = origin = uuid = status = alloc = "";
- le = 0;
+ le = 0;
ro = false;
}
@@ -903,12 +903,12 @@
list& vol )
{
int ret = 0;
- unsigned long oco = col.size();
- unsigned long ovo = vol.size();
+ unsigned long oco = col.size();
+ unsigned long ovo = vol.size();
Container::getToCommit( stage, col, vol );
if( stage==DECREASE )
{
- if( !pv_remove.empty() &&
+ if( !pv_remove.empty() &&
find( col.begin(), col.end(), this )==col.end() )
{
col.push_back( this );
@@ -916,7 +916,7 @@
}
else if( stage==INCREASE )
{
- if( !pv_add.empty() &&
+ if( !pv_add.empty() &&
find( col.begin(), col.end(), this )==col.end() )
{
col.push_back( this );
@@ -942,7 +942,7 @@
{
ret = doReduceVg();
}
- else
+ else
ret = LVM_COMMIT_NOTHING_TODO;
break;
case INCREASE:
@@ -971,32 +971,32 @@
y2mil( "Container::getCommitActions:" << l );
if( deleted() )
{
- l.push_back( new commitAction( DECREASE, staticType(),
+ l.push_back( new commitAction( DECREASE, staticType(),
removeVgText(false), this, true ));
}
else if( created() )
{
- l.push_front( new commitAction( INCREASE, staticType(),
+ l.push_front( new commitAction( INCREASE, staticType(),
createVgText(false), this, true ));
}
- else
+ else
{
if( !pv_add.empty() )
- for( list<Pv>::const_iterator i=pv_add.begin(); i!=pv_add.end();
+ for( list<Pv>::const_iterator i=pv_add.begin(); i!=pv_add.end();
++i )
l.push_back( new commitAction( INCREASE, staticType(),
- extendVgText(false,i->device),
+ extendVgText(false,i->device),
this, true ));
if( !pv_remove.empty() )
- for( list<Pv>::const_iterator i=pv_remove.begin();
+ for( list<Pv>::const_iterator i=pv_remove.begin();
i!=pv_remove.end(); ++i )
l.push_back( new commitAction( DECREASE, staticType(),
- reduceVgText(false,i->device),
+ reduceVgText(false,i->device),
this, false ));
}
}
-string
+string
LvmVg::removeVgText( bool doing ) const
{
string txt;
@@ -1013,7 +1013,7 @@
return( txt );
}
-string
+string
LvmVg::createVgText( bool doing ) const
{
string txt;
@@ -1034,7 +1034,7 @@
return( txt );
}
-string
+string
LvmVg::extendVgText( bool doing, const string& dev ) const
{
string txt;
@@ -1055,7 +1055,7 @@
return( txt );
}
-string
+string
LvmVg::reduceVgText( bool doing, const string& dev ) const
{
string txt;
@@ -1076,7 +1076,7 @@
return( txt );
}
-void
+void
LvmVg::init()
{
PeContainer::init();
@@ -1086,48 +1086,57 @@
inactiv = lvm1 = false;
}
-void LvmVg::activate( bool val )
+
+void
+LvmVg::activate(bool val)
+{
+ y2mil("old active:" << active << " val:" << val);
+
+ if (active != val)
{
- y2milestone( "old active:%d val:%d", active, val );
- if( active!=val )
- {
SystemCmd c;
- if( val )
- {
+ if (val)
+ {
Dm::activate(true);
c.execute(VGSCANBIN " --mknodes");
c.execute(VGCHANGEBIN " -a y");
- }
+ }
else
- {
+ {
c.execute(VGCHANGEBIN " -a n");
- }
- active = val;
}
+ active = val;
}
+}
-void LvmVg::getVgs( list<string>& l )
- {
+
+void
+LvmVg::getVgs(list<string>& l)
+{
l.clear();
- string vgname;
- string::size_type pos;
+
SystemCmd c(VGDISPLAYBIN " -s");
- if( !active && c.numLines()>0 )
+ if (c.numLines() > 0)
+ {
active = true;
- for( unsigned i=0; i0 )
- vgname.erase( 0, pos );
- pos=vgname.find_first_of( app_ws+"\"" );
- if( pos>0 )
- vgname.erase( pos );
- l.push_back(vgname);
+ string vgname = *c.getLine(i);
+ string::size_type pos=vgname.find_first_not_of( app_ws+"\"" );
+ if( pos>0 )
+ vgname.erase( 0, pos );
+ pos=vgname.find_first_of( app_ws+"\"" );
+ if( pos>0 )
+ vgname.erase( pos );
+ l.push_back(vgname);
}
- y2mil( "detected Vgs " << l );
}
+ y2mil("detected vgs " << l);
+}
+
+
int
LvmVg::doCreateVg()
{
@@ -1160,7 +1169,7 @@
SystemCmd c( "find " + ddir + " -type l | xargs -r rm" );
rmdir( ddir.c_str() );
}
- string cmd = VGCREATEBIN " " + instSysString() + metaString() +
+ string cmd = VGCREATEBIN " " + instSysString() + metaString() +
"-s " + decString(pe_size) + "k " + quote(name()) + " " + devices;
SystemCmd c( cmd );
if( c.retcode()!=0 )
@@ -1312,8 +1321,8 @@
return( ret );
}
-int
-LvmVg::doCreate( Volume* v )
+int
+LvmVg::doCreate( Volume* v )
{
y2milestone( "Vg:%s name:%s", name().c_str(), v->name().c_str() );
LvmLv * l = dynamic_cast(v);
@@ -1409,7 +1418,7 @@
return( ret );
}
-int LvmVg::doResize( Volume* v )
+int LvmVg::doResize( Volume* v )
{
y2milestone( "Vg:%s name:%s", name().c_str(), v->name().c_str() );
LvmLv * l = dynamic_cast(v);
@@ -1428,7 +1437,7 @@
getStorage()->showInfoCb( l->resizeText(true) );
}
checkConsistency();
- if( v->isMounted() &&
+ if( v->isMounted() &&
((old_le>new_le&&!caps.isReduceableWhileMounted)||
(old_lelvmLvPair();
ConstLvmLvIter j = pc.begin();
- while( j!=pc.end() &&
+ while( j!=pc.end() &&
(i->device()!=j->device() || i->created()!=j->created()) )
++j;
if( j!=pc.end() )
@@ -1639,7 +1648,7 @@
{
ConstLvmLvPair pc=lvmLvPair();
ConstLvmLvIter j = pc.begin();
- while( j!=pc.end() &&
+ while( j!=pc.end() &&
(i->device()!=j->device() || i->created()!=j->created()) )
++j;
if( j==pc.end() )
@@ -1667,7 +1676,7 @@
ConstLvmLvPair pc = p->lvmLvPair();
ConstLvmLvIter i = pp.begin();
ConstLvmLvIter j = pc.begin();
- while( ret && i!=pp.end() && j!=pc.end() )
+ while( ret && i!=pp.end() && j!=pc.end() )
{
ret = ret && i->equalContent( *j );
++i;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/LvmVg.h new/yast2-storage-2.17.44/libstorage/src/LvmVg.h
--- old/yast2-storage-2.17.43/libstorage/src/LvmVg.h 2008-10-16 17:53:50.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/LvmVg.h 2008-10-24 15:08:32.000000000 +0200
@@ -28,11 +28,11 @@
int extendVg( const string& device );
int reduceVg( const std::list<string>& dl );
int reduceVg( const string& device );
- int createLv( const string& name, unsigned long long sizeK,
+ int createLv( const string& name, unsigned long long sizeK,
unsigned stripe, string& device );
int removeLv( const string& name );
int changeStripe( const string& name, unsigned long stripe );
- int changeStripeSize( const string& name,
+ int changeStripeSize( const string& name,
unsigned long long stripeSize );
int createLvSnapshot(const string& origin, const string& name,
@@ -56,7 +56,7 @@
static void getVgs( std::list<string>& l );
static bool lvNotDeleted( const LvmLv& l ) { return( !l.deleted() ); }
-
+
protected:
// iterators over LVM LVs
// protected typedefs for iterators over LVMLVs
@@ -130,7 +130,7 @@
string instSysString();
void logData( const string& Dir );
- void addLv(unsigned long& le, string& name, string& origin, string& uuid,
+ void addLv(unsigned long& le, string& name, string& origin, string& uuid,
string& status, string& alloc, bool& ro);
void addPv( Pv*& p );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/Md.cc new/yast2-storage-2.17.44/libstorage/src/Md.cc
--- old/yast2-storage-2.17.43/libstorage/src/Md.cc 2008-10-07 15:58:16.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/Md.cc 2008-10-24 13:11:04.000000000 +0200
@@ -18,9 +18,8 @@
using namespace storage;
using namespace std;
-Md::Md( const MdCo& d, unsigned PNr, MdType Type,
+Md::Md( const MdCo& d, unsigned PNr, MdType Type,
const list<string>& devices ) : Volume( d, PNr, 0 )
-
{
y2debug( "constructed md %s on container %s", dev.c_str(),
cont->name().c_str() );
@@ -36,8 +35,7 @@
Md::Md( const MdCo& d, const string& line1, const string& line2 )
: Volume( d, 0, 0 )
{
- y2milestone( "constructed md lines1:\"%s\" line2:\"%s\"", line1.c_str(),
- line2.c_str() );
+ y2mil("constructed md line1:\"" << line1 << "\" line2:\"" << line2 << "\"");
if( d.type() != MD )
y2error( "constructed md with wrong container" );
init();
@@ -72,13 +70,13 @@
string line = line1;
if( (pos=line.find( ':' ))!=string::npos )
line.erase( 0, pos+1 );
- if( (pos=line.find_first_not_of( app_ws ))!=string::npos && pos!=0 )
- line.erase( 0, pos );
+ boost::trim_left(line, locale::classic());
if( (pos=line.find_first_of( app_ws ))!=string::npos )
{
if (line.substr(0, pos) == "active")
line.erase(0, pos);
}
+ boost::trim_left(line, locale::classic());
if( (pos=line.find_first_of( app_ws ))!=string::npos )
{
tmp = line.substr( 0, pos );
@@ -87,17 +85,16 @@
setReadonly();
y2warning( "readonly or inactive md device %d", nr() );
line.erase( 0, pos );
+ boost::trim_left(line, locale::classic());
}
}
- if( (pos=line.find_first_not_of( app_ws ))!=string::npos && pos!=0 )
- line.erase( 0, pos );
+ boost::trim_left(line, locale::classic());
if( (pos=line.find_first_of( app_ws ))!=string::npos )
{
if( line.substr( 0, pos ).find( "active" )!=string::npos )
line.erase( 0, pos );
}
- if( (pos=line.find_first_not_of( app_ws ))!=string::npos && pos!=0 )
- line.erase( 0, pos );
+ boost::trim_left(line, locale::classic());
tmp = extractNthWord( 0, line );
md_type = toMdType( tmp );
if( md_type == RAID_UNK )
@@ -178,11 +175,11 @@
md_type = RAID_UNK;
}
-void
+void
Md::getDevs( list<string>& devices, bool all, bool spares ) const
- {
+ {
if( !all )
- devices = spares ? spare : devs ;
+ devices = spares ? spare : devs;
else
{
devices = devs;
@@ -235,7 +232,7 @@
return( ret );
}
-int
+int
Md::checkDevices()
{
unsigned nmin = 2;
@@ -293,9 +290,9 @@
setSize(size_k);
}
-void
-Md::addSpareDevice( const string& dev )
- {
+void
+Md::addSpareDevice( const string& dev )
+ {
string d = normalizeDevice(dev);
if( find( spare.begin(), spare.end(), d )!=spare.end() ||
find( devs.begin(), devs.end(), d )!=devs.end() )
@@ -482,17 +479,17 @@
// %3$s is replaced by file system type (e.g. reiserfs)
// %4$s is replaced by mount point (e.g. /usr)
txt = sformat( _("Format software RAID %1$s (%2$s) for %4$s with %3$s"),
- d.c_str(), sizeString().c_str(),
+ d.c_str(), sizeString().c_str(),
fsTypeString().c_str(), mp.c_str() );
}
else
{
- // displayed text before action, %1$s is replaced by device name e.g. /dev/md0
+ // displayed text before action, %1$s is replaced by device name e.g. /dev/md0
// %2$s is replaced by size (e.g. 623.5 MB)
// %3$s is replaced by file system type (e.g. reiserfs)
// %4$s is replaced by mount point (e.g. /usr)
txt = sformat( _("Format encrypted software RAID %1$s (%2$s) for %4$s with %3$s"),
- d.c_str(), sizeString().c_str(),
+ d.c_str(), sizeString().c_str(),
fsTypeString().c_str(), mp.c_str() );
}
}
@@ -502,7 +499,7 @@
// %2$s is replaced by size (e.g. 623.5 MB)
// %3$s is replaced by file system type (e.g. reiserfs)
txt = sformat( _("Format software RAID %1$s (%2$s) with %3$s"),
- d.c_str(), sizeString().c_str(),
+ d.c_str(), sizeString().c_str(),
fsTypeString().c_str() );
}
}
@@ -521,7 +518,7 @@
}
MdParity
-Md::toMdParity( const string& val )
+Md::toMdParity( const string& val )
{
enum MdParity ret = RIGHT_SYMMETRIC;
while( ret!=PAR_NONE && val!=par_names[ret] )
@@ -549,9 +546,9 @@
return( ret );
}
-void Md::setPersonality( MdType val )
- {
- md_type=val;
+void Md::setPersonality( MdType val )
+ {
+ md_type=val;
computeSize();
}
@@ -619,7 +616,7 @@
bool Md::equalContent( const Md& rhs ) const
{
return( Volume::equalContent(rhs) &&
- md_type==rhs.md_type && md_parity==rhs.md_parity &&
+ md_type==rhs.md_type && md_parity==rhs.md_parity &&
chunk==rhs.chunk && md_uuid==rhs.md_uuid && sb_ver==rhs.sb_ver &&
destrSb==rhs.destrSb && devs == rhs.devs && spare==rhs.spare );
}
@@ -628,10 +625,10 @@
{
string log = Volume::logDifference( rhs );
if( md_type!=rhs.md_type )
- log += " Personality:" + md_names[md_type] + "-->" +
+ log += " Personality:" + md_names[md_type] + "-->" +
md_names[rhs.md_type];
if( md_parity!=rhs.md_parity )
- log += " Parity:" + par_names[md_parity] + "-->" +
+ log += " Parity:" + par_names[md_parity] + "-->" +
par_names[rhs.md_parity];
if( chunk!=rhs.chunk )
log += " Chunk:" + decString(chunk) + "-->" + decString(rhs.chunk);
@@ -684,9 +681,9 @@
*this = rhs;
}
-string Md::md_names[] = { "unknown", "raid0", "raid1", "raid5", "raid6",
+string Md::md_names[] = { "unknown", "raid0", "raid1", "raid5", "raid6",
"raid10", "multipath" };
-string Md::par_names[] = { "none", "left-asymmetric", "left-symmetric",
+string Md::par_names[] = { "none", "left-asymmetric", "left-symmetric",
"right-asymmetric", "right-symmetric" };
unsigned Md::md_major = 0;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/Partition.cc new/yast2-storage-2.17.44/libstorage/src/Partition.cc
--- old/yast2-storage-2.17.43/libstorage/src/Partition.cc 2008-09-01 17:04:53.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/Partition.cc 2008-10-24 11:14:55.000000000 +0200
@@ -510,7 +510,7 @@
// %2$s is replaced by size (e.g. 623.5 MB)
txt = sformat( _("Extending partition %1$s to %2$s"), d.c_str(), sizeString().c_str() );
// text displayed during action
- txt += ' ' + _("(progress bar might not move)");
+ txt += string(" ") + _("(progress bar might not move)");
}
else
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/Storage.cc new/yast2-storage-2.17.44/libstorage/src/Storage.cc
--- old/yast2-storage-2.17.43/libstorage/src/Storage.cc 2008-10-24 10:08:11.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/Storage.cc 2008-10-24 14:41:38.000000000 +0200
@@ -5657,22 +5657,32 @@
return( ret );
}
+
void
-Storage::activateHld( bool val )
+Storage::activateHld(bool val)
+{
+ y2mil("val:" << val);
+ if (val)
{
- y2milestone( "val:%d", val );
- if( val )
- {
Dm::activate(val);
- MdCo::activate(val,tmpDir());
- }
+ MdCo::activate(val, tmpDir());
+ }
LvmVg::activate(val);
- if( !val )
- {
+ if (!val)
+ {
Dm::activate(val);
- MdCo::activate(val,tmpDir());
- }
+ MdCo::activate(val, tmpDir());
}
+}
+
+
+void
+Storage::activateMultipath(bool val)
+{
+ y2mil("val:" << val);
+ DmmultipathCo::activate(val);
+}
+
int Storage::addFstabEntry( const string& device, const string& mount,
const string& vfs, const string& options,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/Storage.h new/yast2-storage-2.17.44/libstorage/src/Storage.h
--- old/yast2-storage-2.17.43/libstorage/src/Storage.h 2008-10-09 18:17:29.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/Storage.h 2008-10-24 14:26:56.000000000 +0200
@@ -462,6 +462,7 @@
int commit();
void handleHald( bool stop );
void activateHld( bool val=true );
+ void activateMultipath( bool val=true );
void removeDmTableTo( const Volume& vol );
void removeDmTableTo( const string& device );
bool removeDmTable( const string& table );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/StorageInterface.h new/yast2-storage-2.17.44/libstorage/src/StorageInterface.h
--- old/yast2-storage-2.17.43/libstorage/src/StorageInterface.h 2008-10-23 12:21:45.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/StorageInterface.h 2008-10-24 14:26:30.000000000 +0200
@@ -2076,6 +2076,14 @@
virtual void activateHld( bool val ) = 0;
/**
+ * Activate or deactivate multipath
+ *
+ * @param val flag if multipath should be activated or deactivated
+ * @return bool if values could be successfully determined
+ */
+ virtual void activateMultipath( bool val ) = 0;
+
+ /**
* Rescan all disks.
* All currently detected objects are forgotten and a new scan
* for all type of objects (disks, LVM, MD) is initiated.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/libstorage/src/Volume.cc new/yast2-storage-2.17.44/libstorage/src/Volume.cc
--- old/yast2-storage-2.17.43/libstorage/src/Volume.cc 2008-10-17 16:51:30.000000000 +0200
+++ new/yast2-storage-2.17.44/libstorage/src/Volume.cc 2008-10-24 11:16:27.000000000 +0200
@@ -2642,7 +2642,7 @@
// %2$s is replaced by size (e.g. 623.5 MB)
txt = sformat( _("Extending %1$s to %2$s"), d.c_str(), sizeString().c_str() );
// text displayed during action
- txt += ' ' + _("(progress bar might not move)");
+ txt += string(" ") + _("(progress bar might not move)");
}
else
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/storage/src/include/ep-dialogs.ycp new/yast2-storage-2.17.44/storage/src/include/ep-dialogs.ycp
--- old/yast2-storage-2.17.43/storage/src/include/ep-dialogs.ycp 2008-10-22 15:09:20.000000000 +0200
+++ new/yast2-storage-2.17.44/storage/src/include/ep-dialogs.ycp 2008-10-24 12:28:39.000000000 +0200
@@ -53,7 +53,8 @@
boolean do_format = data["format"]:false;
symbol used_fs = data["used_fs"]:`unknown;
- boolean crypt_fs = data["enc_type"]:`none != `none;
+ symbol default_crypt_fs = data["type"]:`unknown == `loop ? `luks : `none;
+ boolean crypt_fs = data["enc_type"]:default_crypt_fs != `none;
string mount = data["mount"]:"";
boolean do_mount = mount != "";
@@ -142,7 +143,7 @@
MiniWorkflow::SetContents(Greasemonkey::Transform(contents), MiniWorkflowStepFormatMountHelptext());
- MiniWorkflow::SetLastStep(true);
+ MiniWorkflow::SetLastStep(!crypt_fs);
UI::ChangeWidget(`id(`format), `Value, do_format ? `do_format : `do_not_format);
UI::ChangeWidget(`id(`do_format_attachment), `Enabled, do_format);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/storage/src/include/ep-hd-lib.ycp new/yast2-storage-2.17.44/storage/src/include/ep-hd-lib.ycp
--- old/yast2-storage-2.17.43/storage/src/include/ep-hd-lib.ycp 2008-10-21 18:06:48.000000000 +0200
+++ new/yast2-storage-2.17.44/storage/src/include/ep-hd-lib.ycp 2008-10-24 11:28:20.000000000 +0200
@@ -274,10 +274,14 @@
}
//Need to pass data on the whole disk, to determine free/available space
- if ( DlgResizePartition(data, disk) )
+ if (DlgResizePartition(data, disk))
{
- target_map = Storage::SetPartition( target_map, data );
- Storage::SetTargetMap( target_map );
+ target_map = Storage::SetPartition(target_map, data);
+ Storage::SetTargetMap(target_map);
+
+ UpdateNavigationTree(nil);
+ TreePanel::Create();
+ UpdateTableFocus(device);
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/storage/src/include/ep-lvm-dialogs.ycp new/yast2-storage-2.17.44/storage/src/include/ep-lvm-dialogs.ycp
--- old/yast2-storage-2.17.43/storage/src/include/ep-lvm-dialogs.ycp 2008-10-17 10:24:28.000000000 +0200
+++ new/yast2-storage-2.17.44/storage/src/include/ep-lvm-dialogs.ycp 2008-10-24 11:27:24.000000000 +0200
@@ -605,11 +605,11 @@
}
- void DlgResizeLogicalVolumeNew(map &data)
+ boolean DlgResizeLogicalVolumeNew(map &data)
{
//the empty map is here because data on whole disk need to be passed
//to resize dialog for partitions (to get available space etc.)
//for LVMs we probably don't need it)
- DlgResize(data, $[], `lv);
+ return DlgResize(data, $[], `lv);
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/storage/src/include/ep-lvm-lib.ycp new/yast2-storage-2.17.44/storage/src/include/ep-lvm-lib.ycp
--- old/yast2-storage-2.17.43/storage/src/include/ep-lvm-lib.ycp 2008-10-17 10:24:28.000000000 +0200
+++ new/yast2-storage-2.17.44/storage/src/include/ep-lvm-lib.ycp 2008-10-24 11:28:00.000000000 +0200
@@ -113,7 +113,7 @@
return `finish;
}
-
+
if (DlgResizeVolumeGroup(data, Commit))
{
@@ -241,7 +241,15 @@
map target_map = Storage::GetTargetMap();
map data = Storage::GetPartition(target_map, device);
- DlgResizeLogicalVolumeNew(data);
+ if (DlgResizeLogicalVolumeNew(data))
+ {
+ target_map = Storage::SetPartition(target_map, data);
+ Storage::SetTargetMap(target_map);
+
+ UpdateNavigationTree(nil);
+ TreePanel::Create();
+ UpdateTableFocus(device);
+ }
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/storage/src/include/ep-nfs.ycp new/yast2-storage-2.17.44/storage/src/include/ep-nfs.ycp
--- old/yast2-storage-2.17.43/storage/src/include/ep-nfs.ycp 2008-10-17 10:24:28.000000000 +0200
+++ new/yast2-storage-2.17.44/storage/src/include/ep-nfs.ycp 2008-10-24 14:24:22.000000000 +0200
@@ -15,10 +15,10 @@
//boolean initialized = false;
map target_map = $[];
map index = $[];
- list <map> nfs_list = [];
void CreateNfsMainPanel(any user_data)
{
+ list <map> nfs_list = [];
symbol Predicate(map disk, map partition)
{
return StorageFields::PredicateDiskType(disk, partition, [`CT_NFS]);
@@ -70,16 +70,10 @@
//No NFS shares so far, set empty 'partitions' list
if( !haskey( target_map, "/dev/nfs" ) )
target_map["/dev/nfs"] = $[ "type" : `CT_NFS, "partitions" : [] ];
-
nfs_list = target_map["/dev/nfs", "partitions"]:[];
- y2internal("before %1", nfs_list);
- //Create index
- integer i = 0;
- foreach( map entry, nfs_list, {
- index = add(index, entry["device"]:"", i);
- i = i+1;
- });
+ y2milestone("Found NFS shares: %1", nfs_list);
+
}
@@ -106,41 +100,52 @@
void AddShare ( map entry )
{
- map newent = $[];
- newent["type"] = `nfs;
- newent["used_fs"] = `nfs;
- newent["detected_fs"] = `nfs;
- newent["device"] = entry["device"]:"";
- newent["fstopt"] = entry["fstopt"]:"";
- newent["mount"] = entry["mount"]:"";
- newent["create"] = true;
+ y2milestone("Adding NFS share: %1 mountpoint: %2 options: %3",
+ entry["device"]:"", entry["mount"]:"", entry["fstopt"]:"");
+ integer sizeK = Storage::CheckNfsVolume (entry["device"]:"", entry["fstopt"]:"");
- nfs_list = add( nfs_list, newent);
+ if ( sizeK <= 0)
+ {
+ Popup::Error( sformat( _("Test mount of NFS share '%1' failed.\nCheck that remote server is accesible and try again."), entry["device"]:"") );
+ //FIXME: rollback if the operation didn't succeed
+ }
+ else
+ {
+ Storage::AddNfsVolume( entry["device"]:"", entry["fstopt"]:"", sizeK, entry["mount"]:"");
+ }
}
void EditShare( map entry )
{
+ y2milestone("Changing NFS share: %1 mountpoint: %2 options: %3",
+ entry["device"]:"", entry["mount"]:"", entry["fstopt"]:"");
+ //FIXME: renaming the device is not handled
+ //we have to delete the dev with old name
+ //and create a new one
string dev = entry["device"]:"";
- map newent = $[];
- y2internal("%1 %2 %3", dev, index, nfs_list);
+ target_map = Storage::GetTargetMap();
+ list<map> nfs_list = target_map["/dev/nfs", "partitions"]:[];
- if ( haskey( index, dev))
- {
- newent = nfs_list[ index[dev]: -1 ]: $[];
- newent["fstopt"] = entry["fstopt"]:"";
- newent["mount"] = entry["mount"]:"";
- nfs_list [ index[dev]: -1 ] = newent;
- }
+ nfs_list = maplist ( map m, nfs_list, {
+ if( m["device"]:"" == dev)
+ {
+ m["fstopt"] = entry["fstopt"]:"";
+ m["mount"] = entry["mount"]:"";
+ }
+ return m;
+ });
+ target_map["/dev/nfs", "partitions"] = nfs_list;
+ Storage::SetTargetMap( target_map );
}
+
void DeleteShare( map entry )
{
+ y2milestone("Deleting NFS share: %1 mountpoint: %2 options: %3",
+ entry["device"]:"", entry["mount"]:"", entry["fstopt"]:"");
string dev = entry["device"]:"";
- if ( haskey( index, dev))
- {
- Storage::DeleteDevice("/dev/nfs", dev );
- }
+ Storage::DeleteDevice("/dev/nfs", dev );
}
map line = ( map ) WFM::CallFunction("nfs-client4part", [ "HandleEvent", $[ "widget_id" : widget ] ]);
@@ -165,10 +170,6 @@
default:
break;
}
-
- target_map["/dev/nfs", "partitions"] = nfs_list;
- y2internal("after %1", target_map["/dev/nfs", "partitions"]:[]);
- Storage::SetTargetMap( target_map );
}
void CreateNfsPanel(any user_data)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/storage/src/modules/Storage.ycp new/yast2-storage-2.17.44/storage/src/modules/Storage.ycp
--- old/yast2-storage-2.17.43/storage/src/modules/Storage.ycp 2008-10-21 16:31:17.000000000 +0200
+++ new/yast2-storage-2.17.44/storage/src/modules/Storage.ycp 2008-10-24 15:28:08.000000000 +0200
@@ -19,7 +19,7 @@
* wurde versucht "intelligent" zu gestallten und ist im einzelen bei den
* entspechenden Funktionen n�her erkl�rt.
*
- * $Id: Storage.ycp 52399 2008-10-21 14:22:58Z kmachalkova $
+ * $Id: Storage.ycp 52523 2008-10-24 13:12:43Z kmachalkova $
*/
{
@@ -4493,12 +4493,15 @@
map tg = GetTargetMap();
boolean need_lvm = false;
+ boolean need_nfs = false;
boolean need_quota = false;
boolean need_crypt = false;
foreach( string k, map e, tg, {
if (e["type"]:`CT_UNKNOWN == `CT_LVM)
need_lvm = true;
+ if (e["type"]:`CT_UNKNOWN == `CT_NFS)
+ need_nfs = true;
if( size(filter( map p, e["partitions"]:[],
``(FileSystems::HasQuota(p))))>0 )
need_quota = true;
@@ -4507,12 +4510,20 @@
need_crypt = true;
});
- y2milestone("AddPackageList need lvm:%1 quota:%2 crypt:%3", need_lvm, need_quota, need_crypt);
+ y2milestone("AddPackageList need lvm:%1 need nfs: %2 quota:%3 crypt:%4", need_lvm, need_nfs, need_quota, need_crypt);
if (need_lvm)
{
pl = add(pl, "lvm2");
}
+
+ //nfs-client needs to be marked for installation if we have
+ //some NFS shares. It will pull in portmapper package(#436897)
+ if (need_nfs)
+ {
+ pl = add(pl, "nfs-client");
+ pl = add(pl, "yast2-nfs-client");
+ }
if( need_quota )
{
pl = add( pl, "quota" );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.43/VERSION new/yast2-storage-2.17.44/VERSION
--- old/yast2-storage-2.17.43/VERSION 2008-10-24 10:13:31.000000000 +0200
+++ new/yast2-storage-2.17.44/VERSION 2008-10-24 11:50:06.000000000 +0200
@@ -1 +1 @@
-2.17.43
+2.17.44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org