Author: aschnell
Date: Sat May 16 12:06:30 2009
New Revision: 57210
URL: http://svn.opensuse.org/viewcvs/yast?rev=57210&view=rev
Log:
- replace maxSizeLabelK() by getDlabelCapabilities()
Modified:
trunk/storage/libstorage/src/Disk.cc
trunk/storage/libstorage/src/Disk.h
trunk/storage/libstorage/src/Storage.cc
trunk/storage/libstorage/src/Storage.h
trunk/storage/libstorage/src/StorageInterface.h
trunk/storage/package/yast2-storage.changes
trunk/storage/storage/src/modules/Storage.ycp
Modified: trunk/storage/libstorage/src/Disk.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/libstorage/src/Disk.cc?rev=57210&r1=57209&r2=57210&view=diff
==============================================================================
--- trunk/storage/libstorage/src/Disk.cc (original)
+++ trunk/storage/libstorage/src/Disk.cc Sat May 16 12:06:30 2009
@@ -498,22 +498,28 @@
" logical:" << max_logical);
}
-unsigned long long
-Disk::maxSizeLabelK( const string& label )
+
+bool
+Disk::getDlabelCapabilities(const string& dlabel, DlabelCapabilities& dlabelcapabilities)
+{
+ bool ret = false;
+ int i = 0;
+ while (!labels[i].name.empty() && labels[i].name != dlabel)
{
- unsigned long long ret = 0;
- int i=0;
- while( !labels[i].name.empty() && labels[i].name!=label )
- {
i++;
- }
- if( !labels[i].name.empty() )
- {
- ret = labels[i].max_size_k;
- }
- y2mil("label:" << label << " ret:" << ret);
- return( ret );
}
+ if (!labels[i].name.empty())
+ {
+ ret = true;
+ dlabelcapabilities.maxPrimary = labels[i].primary;
+ dlabelcapabilities.extendedPossible = labels[i].extended;
+ dlabelcapabilities.maxLogical = labels[i].logical;
+ dlabelcapabilities.maxSizeK = labels[i].max_size_k;
+ }
+ y2mil("dlabel:" << dlabel << " ret:" << ret);
+ return ret;
+}
+
int
Disk::checkSystemError( const string& cmd_line, const SystemCmd& cmd )
Modified: trunk/storage/libstorage/src/Disk.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/libstorage/src/Disk.h?rev=57210&r1=57209&r2=57210&view=diff
==============================================================================
--- trunk/storage/libstorage/src/Disk.h (original)
+++ trunk/storage/libstorage/src/Disk.h Sat May 16 12:06:30 2009
@@ -108,7 +108,9 @@
static string getPartName( const string& disk, unsigned nr );
static string getPartName( const string& disk, const string& nr );
static std::pair getDiskPartition( const string& dev );
- static unsigned long long maxSizeLabelK( const string& label );
+
+ static bool getDlabelCapabilities(const string& dlabel,
+ storage::DlabelCapabilities& dlabelcapabilities);
protected:
Modified: trunk/storage/libstorage/src/Storage.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/libstorage/src/Storage.cc?rev=57210&r1=57209&r2=57210&view=diff
==============================================================================
--- trunk/storage/libstorage/src/Storage.cc (original)
+++ trunk/storage/libstorage/src/Storage.cc Sat May 16 12:06:30 2009
@@ -1813,12 +1813,6 @@
}
-unsigned long long
-Storage::maxSizeLabelK( const string& label ) const
- {
- return( Disk::maxSizeLabelK(label) );
- }
-
int
Storage::changeFormatVolume( const string& device, bool format, FsType fs )
{
@@ -4538,6 +4532,13 @@
}
+bool
+Storage::getDlabelCapabilities(const string& dlabel, DlabelCapabilities& dlabelcapabilities) const
+{
+ return Disk::getDlabelCapabilities(dlabel, dlabelcapabilities);
+}
+
+
void Storage::removeDmTableTo( const Volume& vol )
{
if( vol.cType()==DISK || vol.cType()==MD )
Modified: trunk/storage/libstorage/src/Storage.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/libstorage/src/Storage.h?rev=57210&r1=57209&r2=57210&view=diff
==============================================================================
--- trunk/storage/libstorage/src/Storage.h (original)
+++ trunk/storage/libstorage/src/Storage.h Sat May 16 12:06:30 2009
@@ -294,6 +294,9 @@
bool getFsCapabilities( storage::FsType fstype,
storage::FsCapabilities& fscapabilities) const;
+ bool getDlabelCapabilities(const string& dlabel,
+ storage::DlabelCapabilities& dlabelcapabilities) const;
+
list<string> getAllUsedFs() const;
void setExtError( const string& txt );
int createPartition( const string& disk, storage::PartitionType type,
@@ -323,7 +326,6 @@
int initializeDisk( const string& disk, bool value );
string defaultDiskLabel() const;
string defaultDiskLabelSize( unsigned long long size_k ) const;
- unsigned long long maxSizeLabelK( const string& label ) const;
int changeFormatVolume( const string& device, bool format,
storage::FsType fs );
Modified: trunk/storage/libstorage/src/StorageInterface.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/libstorage/src/StorageInterface.h?rev=57210&r1=57209&r2=57210&view=diff
==============================================================================
--- trunk/storage/libstorage/src/StorageInterface.h (original)
+++ trunk/storage/libstorage/src/StorageInterface.h Sat May 16 12:06:30 2009
@@ -151,7 +151,7 @@
*/
struct FsCapabilities
{
- FsCapabilities () {}
+ FsCapabilities() {}
bool isExtendable;
bool isExtendableWhileMounted;
bool isReduceable;
@@ -164,6 +164,19 @@
};
/**
+ * Contains capabilities of a disk label.
+ */
+ struct DlabelCapabilities
+ {
+ DlabelCapabilities() {}
+ int maxPrimary;
+ bool extendedPossible;
+ int maxLogical;
+ unsigned long long maxSizeK;
+ };
+
+
+ /**
* Contains info about a generic container.
*/
struct ContainerInfo
@@ -876,6 +889,12 @@
virtual bool getFsCapabilities (FsType fstype, FsCapabilities& fscapabilities) const = 0;
/**
+ * Query capabilities of a disk label.
+ */
+ virtual bool getDlabelCapabilities(const string& dlabel,
+ DlabelCapabilities& dlabelcapabilities) const = 0;
+
+ /**
* Get list of filesystem types present on any block devices.
*/
virtual list<string> getAllUsedFs() const = 0;
@@ -1097,13 +1116,6 @@
virtual string defaultDiskLabelSize( unsigned long long size_k ) const = 0;
/**
- * Query the maximal allowed size the given disk label supports.
- *
- * @return maximal supported size of disk label
- */
- virtual unsigned long long maxSizeLabelK( const string& label ) const = 0;
-
- /**
* Sets or unsets the format flag for the given volume.
*
* @param device name of volume, e.g. /dev/hda1
Modified: trunk/storage/package/yast2-storage.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/package/yast2-storage.changes?rev=57210&r1=57209&r2=57210&view=diff
==============================================================================
--- trunk/storage/package/yast2-storage.changes (original)
+++ trunk/storage/package/yast2-storage.changes Sat May 16 12:06:30 2009
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Sat May 16 11:40:07 CEST 2009 - aschnell@suse.de
+
+- replace maxSizeLabelK() by getDlabelCapabilities()
+
+-------------------------------------------------------------------
Fri May 15 00:58:28 CEST 2009 - aschnell@suse.de
- added environment parameter to Storage constructor and factories
Modified: trunk/storage/storage/src/modules/Storage.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/storage/src/modules/Storage.ycp?rev=57210&r1=57209&r2=57210&view=diff
==============================================================================
--- trunk/storage/storage/src/modules/Storage.ycp (original)
+++ trunk/storage/storage/src/modules/Storage.ycp Sat May 16 12:06:30 2009
@@ -67,6 +67,7 @@
import "LibStorage::DmmultipathCoInfo";
import "LibStorage::PartitionSlotInfo";
import "LibStorage::CommitInfo";
+ import "LibStorage::DlabelCapabilities";
import "LibStorage::Environment";
@@ -2076,10 +2077,14 @@
global integer MaxSizeLabelK( map disk )
{
integer ret = 0;
- string tmp = disk["label"]:"";
- ret = LibStorage::StorageInterface::maxSizeLabelK( sint, tmp );
- y2milestone( "MaxSizeLabelK %1 is %2", disk["label"]:"", ret );
- return( ret );
+ string dlabel = disk["label"]:"";
+ any caps = LibStorage::DlabelCapabilities::new("LibStorage::DlabelCapabilities");
+ if (LibStorage::StorageInterface::getDlabelCapabilities(sint, dlabel, caps))
+ {
+ ret = LibStorage::DlabelCapabilities::swig_maxSizeK_get(caps);
+ }
+ y2milestone("MaxSizeLabelK %1 is %2", dlabel, ret);
+ return ret;
}
global integer MaxCylLabel( map disk, integer start_cyl )
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org