Author: fehr
Date: Mon Oct 24 14:15:09 2011
New Revision: 66537
URL: http://svn.opensuse.org/viewcvs/yast?rev=66537&view=rev
Log:
detect new transport type FcoE (bnc#726057)
Modified:
branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Disk.cc
branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Disk.h
branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Enum.cc
branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Lsscsi.cc
branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/StorageInterface.h
branches/SuSE-Code-11-SP2-Branch/storage/package/yast2-storage.changes
branches/SuSE-Code-11-SP2-Branch/storage/storage/src/include/ep-hd.ycp
branches/SuSE-Code-11-SP2-Branch/storage/storage/src/modules/Storage.ycp
branches/SuSE-Code-11-SP2-Branch/storage/storage/src/modules/StorageFields.ycp
Modified: branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Disk.cc
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Disk.cc?rev=66537&r1=66536&r2=66537&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Disk.cc (original)
+++ branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Disk.cc Mon Oct 24 14:15:09 2011
@@ -165,6 +165,16 @@
}
+string
+Disk::sysfsPath( const string& device )
+ {
+ string dev(device);
+ if( boost::starts_with(dev, "/dev/"))
+ dev.erase( 0, 5 );
+ return SYSFSDIR "/" + boost::replace_all_copy(dev, "/", "!");
+ }
+
+
string
Disk::sysfsPath() const
{
Modified: branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Disk.h
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Disk.h?rev=66537&r1=66536&r2=66537&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Disk.h (original)
+++ branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Disk.h Mon Oct 24 14:15:09 2011
@@ -91,6 +91,7 @@
virtual string procName() const { return nm; }
virtual string sysfsPath() const;
+ static string sysfsPath( const string& device );
unsigned numPartitions() const;
bool isDasd() const { return( nm.find("dasd")==0 ); }
Modified: branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Enum.cc
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Enum.cc?rev=66537&r1=66536&r2=66537&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Enum.cc (original)
+++ branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Enum.cc Mon Oct 24 14:15:09 2011
@@ -113,7 +113,7 @@
static const string transport_names[] = {
- "UNKNOWN", "SBP", "ATA", "FC", "iSCSI", "SAS", "SATA", "SPI", "USB"
+ "UNKNOWN", "SBP", "ATA", "FC", "iSCSI", "SAS", "SATA", "SPI", "USB", "FCOE"
};
const vector<string> EnumInfo<Transport>::names(transport_names, transport_names +
Modified: branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Lsscsi.cc
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Lsscsi.cc?rev=66537&r1=66536&r2=66537&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Lsscsi.cc (original)
+++ branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/Lsscsi.cc Mon Oct 24 14:15:09 2011
@@ -28,7 +28,9 @@
#include "storage/AppUtil.h"
#include "storage/SystemCmd.h"
#include "storage/StorageDefines.h"
+#include "storage/StorageTmpl.h"
#include "storage/Lsscsi.h"
+#include "storage/Disk.h"
#include "storage/Enum.h"
@@ -79,6 +81,32 @@
else if (boost::starts_with(transport, "usb:"))
entry.transport = USB;
+ if( entry.transport == FC )
+ {
+ string link;
+ if( readlink( Disk::sysfsPath(device)+"/device", link))
+ {
+ y2mil( "sysfs:" << Disk::sysfsPath(device) <<
+ " link:" << link );
+ string::size_type pos = link.rfind( '/' ) + 1;
+ string nums = link.substr( pos, link.find_first_not_of( "0123456789", pos ));
+ unsigned num = 0;
+ nums >> num;
+ y2mil( "nums:" << nums << " num:" << num );
+ string symname = "/sys/class/fc_host/host" +
+ decString(num) + "/symbolic_name";
+ ifstream tmpf( symname.c_str() );
+ string line;
+ getline( tmpf, line );
+ y2mil( "line:" << line );
+ if( line.find( "over eth" )!=string::npos )
+ {
+ entry.transport = FCOE;
+ y2mil( "FCoE device: " << device );
+ }
+ }
+ }
+
data[device] = entry;
}
Modified: branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/StorageInterface.h
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/StorageInterface.h?rev=66537&r1=66536&r2=66537&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/StorageInterface.h (original)
+++ branches/SuSE-Code-11-SP2-Branch/storage/libstorage/src/StorageInterface.h Mon Oct 24 14:15:09 2011
@@ -158,7 +158,7 @@
enum CType { CUNKNOWN, DISK, MD, LOOP, LVM, DM, DMRAID, NFSC, DMMULTIPATH, MDPART, BTRFSC, TMPFSC };
- enum Transport { TUNKNOWN, SBP, ATA, FC, ISCSI, SAS, SATA, SPI, USB };
+ enum Transport { TUNKNOWN, SBP, ATA, FC, ISCSI, SAS, SATA, SPI, USB, FCOE };
enum ImsmDriver { IMSM_UNDECIDED, IMSM_DMRAID, IMSM_MDADM };
Modified: branches/SuSE-Code-11-SP2-Branch/storage/package/yast2-storage.changes
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/storage/package/yast2-storage.changes?rev=66537&r1=66536&r2=66537&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/storage/package/yast2-storage.changes (original)
+++ branches/SuSE-Code-11-SP2-Branch/storage/package/yast2-storage.changes Mon Oct 24 14:15:09 2011
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Mon Oct 24 14:11:58 CEST 2011 - fehr@suse.de
+
+- detect new transport type FcoE (bnc#726057)
+
+-------------------------------------------------------------------
Tue Oct 18 11:25:59 CEST 2011 - fehr@suse.de
- version 2.17.116
Modified: branches/SuSE-Code-11-SP2-Branch/storage/storage/src/include/ep-hd.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/storage/storage/src/include/ep-hd.ycp?rev=66537&r1=66536&r2=66537&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/storage/storage/src/include/ep-hd.ycp (original)
+++ branches/SuSE-Code-11-SP2-Branch/storage/storage/src/include/ep-hd.ycp Mon Oct 24 14:15:09 2011
@@ -209,7 +209,9 @@
fields = (list<symbol>) merge(fields, [ `heading_md, `raid_type, `chunk_size, `parity_algorithm ]);
}
- if (contains([ `CT_DISK ], ctype) && target_map[device, "transport"]:`unknown == `fc)
+ if (contains([ `CT_DISK ], ctype) &&
+ (target_map[device, "transport"]:`unknown == `fc ||
+ target_map[device, "transport"]:`unknown == `fcoe ))
{
fields = (list<symbol>) merge(fields, [`heading_fc, `fc_wwpn, `fc_port_id, `fc_fcp_lun ]);
}
Modified: branches/SuSE-Code-11-SP2-Branch/storage/storage/src/modules/Storage.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/storage/storage/src/modules/Storage.ycp?rev=66537&r1=66536&r2=66537&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/storage/storage/src/modules/Storage.ycp (original)
+++ branches/SuSE-Code-11-SP2-Branch/storage/storage/src/modules/Storage.ycp Mon Oct 24 14:15:09 2011
@@ -232,7 +232,8 @@
LibStorage::SAS() : `sas,
LibStorage::SATA() : `sata,
LibStorage::SPI() : `spi,
- LibStorage::USB() : `usb
+ LibStorage::USB() : `usb,
+ LibStorage::FCOE() : `fcoe
]
];
Modified: branches/SuSE-Code-11-SP2-Branch/storage/storage/src/modules/StorageFields.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP2-Branch/storage/storage/src/modules/StorageFields.ycp?rev=66537&r1=66536&r2=66537&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP2-Branch/storage/storage/src/modules/StorageFields.ycp (original)
+++ branches/SuSE-Code-11-SP2-Branch/storage/storage/src/modules/StorageFields.ycp Mon Oct 24 14:15:09 2011
@@ -738,7 +738,8 @@
{
map