The HP/Compaq smart array raid controllers use this
format for device
Smart Array 2DH, Smart Array 2, etc
Drive
/dev/ida/c0d0
Partition
/dev/ida/c0d0p1
/dev/ida/c0d0p2
Smart Array 5300, Smart Array 6400, etc
Drive
/dev/cciss/c0d0
Partition
/dev/cciss/c0d0p1
/dev/cciss/c0d0p2
QTParted needed 2 modifications one in qp_devlist.cpp
and a few in qp_libparted
I am new to CVS and sourceforge so I am not sure If I
have access to checkout and checkin files so I will
just post the diff here. There may be better or
other ways to do this, but here it is
qp_devlist.diff
251c251,252
< if(!p.startsWith("/dev/sd") &&
(p.contains("/dev/scd") || p.contains("/dev/sr") ||
access("/proc/ide/" + p.section('/', 2, 2) + "/cache",
R_OK)))
---
>
> if(!p.startsWith("/dev/sd") &&
!p.startsWith("/dev/cciss") && (p.contains("/dev/scd")
|| p.contains("/dev/sr") || access("/proc/ide/" +
p.section('/', 2, 2) + "/cache", R_OK)))
qp_libparted.diff
102a103,106
> QString p = QString(device()->shortname());
> if(p.startsWith("/dev/cciss"))
> return QString("%1p%2") .arg(device()->shortname())
.arg(num);
> else
107c111,115
< return QString("%1%2") .arg(device()->shortname())
.arg(num);
---
> QString p = QString(device()->shortname());
> if(p.startsWith("/dev/cciss"))
> return QString("%1p%2") .arg(device()->shortname())
.arg(num);
> else
> return QString("%1%2")
.arg(device()->shortname()) .arg(num);
114c122,129
< QString devstr = QString("%1%2")
---
> QString p = QString(device()->shortname());
> QString devstr;
> if(p.startsWith("/dev/cciss"))
> devstr = QString("%1p%2")
> .arg(devpath)
> .arg(num);
> else
> devstr = QString("%1%2")
Logged In: YES
user_id=1461419
To get this patch to work on Knoppix, I had to change all
references of 'startsWith' to 'contains'. This is because
all the devices in Knoppix are /UNIONFS/dev/name, not /dev/name.
Otherwise many thanks for the patch.