mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-29 18:00:18 +00:00
scstadmin: Port ALUA support to new sysfs interface
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3772 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -35,6 +35,7 @@ SCST_QUEUE_RES => 'last_sysfs_mgmt_res',
|
||||
IN_SCST_HANDLERS => 'device_driver',
|
||||
IN_SCST_DEVICES => 'device',
|
||||
IN_SCST_TARGETS => 'target_driver',
|
||||
IN_SCST_DEV_GROUPS => 'device_groups',
|
||||
SCST_ADD_TGT => 'add_target',
|
||||
SCST_ADD_TGT_PARAMS => 'add_target_parameters',
|
||||
SCST_TGTT_ATTR => 'driver_attributes',
|
||||
@@ -329,15 +330,6 @@ sub SCST_DEVICES_DIR {
|
||||
}
|
||||
}
|
||||
|
||||
# Device groups.
|
||||
sub SCST_DEV_GROUP_DIR {
|
||||
if (-d SCST_ROOT_OLD) {
|
||||
return SCST_ROOT_OLD . '/' . SCST_DEV_GROUPS;
|
||||
} else {
|
||||
die("New /sys interface for device groups not yet supported.");
|
||||
}
|
||||
}
|
||||
|
||||
# Target drivers.
|
||||
sub SCST_TARGETS_DIR {
|
||||
if (-d SCST_ROOT_OLD) {
|
||||
@@ -347,6 +339,11 @@ sub SCST_TARGETS_DIR {
|
||||
}
|
||||
}
|
||||
|
||||
# ALUA Device groups.
|
||||
sub SCST_DEV_GROUP_DIR {
|
||||
return make_path(SCST_ROOT_DIR(), SCST_DEV_GROUPS);
|
||||
}
|
||||
|
||||
sub new {
|
||||
my $this = shift;
|
||||
my $debug = shift;
|
||||
@@ -1583,7 +1580,8 @@ sub addDeviceGroup {
|
||||
|
||||
my ($path, $cmd);
|
||||
if (new_sysfs_interface()) {
|
||||
die("New /sys interface for device groups not yet supported.");
|
||||
$path = make_path(SCST_ROOT_DIR(), SCST_MGMT_IO);
|
||||
$cmd = "in " . make_path(IN_SCST_DEV_GROUPS) . " ";
|
||||
} else {
|
||||
$path = make_path(SCST_DEV_GROUP_DIR(), SCST_MGMT_IO);
|
||||
}
|
||||
@@ -1617,7 +1615,8 @@ sub removeDeviceGroup {
|
||||
|
||||
my ($path, $cmd);
|
||||
if (new_sysfs_interface()) {
|
||||
die("New /sys interface for device groups not yet supported.");
|
||||
$path = make_path(SCST_ROOT_DIR(), SCST_MGMT_IO);
|
||||
$cmd = "in " . make_path(IN_SCST_DEV_GROUPS) . " ";
|
||||
} else {
|
||||
$path = make_path(SCST_DEV_GROUP_DIR(), SCST_MGMT_IO);
|
||||
}
|
||||
@@ -1671,7 +1670,9 @@ sub addDeviceGroupDevice {
|
||||
|
||||
my ($path, $cmd);
|
||||
if (new_sysfs_interface()) {
|
||||
die("New /sys interface for device groups not yet supported.");
|
||||
$path = make_path(SCST_ROOT_DIR(), SCST_MGMT_IO);
|
||||
$cmd = "in " . make_path(IN_SCST_DEV_GROUPS, $group,
|
||||
SCST_DG_DEVICES) . " ";
|
||||
} else {
|
||||
$path = make_path(SCST_DEV_GROUP_DIR(), $group, SCST_DG_DEVICES, SCST_MGMT_IO);
|
||||
}
|
||||
@@ -1710,7 +1711,9 @@ sub addTargetGroup {
|
||||
|
||||
my ($path, $cmd);
|
||||
if (new_sysfs_interface()) {
|
||||
die("New /sys interface for device groups not yet supported.");
|
||||
$path = make_path(SCST_ROOT_DIR(), SCST_MGMT_IO);
|
||||
$cmd = "in " . make_path(IN_SCST_DEV_GROUPS, $group,
|
||||
SCST_DG_TGROUPS) . " ";
|
||||
} else {
|
||||
$path = make_path(SCST_DEV_GROUP_DIR(), $group, SCST_DG_TGROUPS, SCST_MGMT_IO);
|
||||
}
|
||||
@@ -1754,7 +1757,9 @@ sub addTargetGroupTarget {
|
||||
|
||||
my ($path, $cmd);
|
||||
if (new_sysfs_interface()) {
|
||||
die("New /sys interface for device groups not yet supported.");
|
||||
$path = make_path(SCST_ROOT_DIR(), SCST_MGMT_IO);
|
||||
$cmd = "in " . make_path(IN_SCST_DEV_GROUPS, $group,
|
||||
SCST_DG_TGROUPS, $tgroup) . " ";
|
||||
} else {
|
||||
$path = make_path(SCST_DEV_GROUP_DIR(), $group, SCST_DG_TGROUPS,
|
||||
$tgroup, SCST_MGMT_IO);
|
||||
@@ -1798,7 +1803,9 @@ sub removeDeviceGroupDevice {
|
||||
|
||||
my ($path, $cmd);
|
||||
if (new_sysfs_interface()) {
|
||||
die("New /sys interface for device groups not yet supported.");
|
||||
$path = make_path(SCST_ROOT_DIR(), SCST_MGMT_IO);
|
||||
$cmd = "in " . make_path(IN_SCST_DEV_GROUPS, $group,
|
||||
SCST_DG_DEVICES) . " ";
|
||||
} else {
|
||||
$path = make_path(SCST_DEV_GROUP_DIR(), $group, SCST_DG_DEVICES, SCST_MGMT_IO);
|
||||
}
|
||||
@@ -1837,7 +1844,9 @@ sub removeTargetGroup {
|
||||
|
||||
my ($path, $cmd);
|
||||
if (new_sysfs_interface()) {
|
||||
die("New /sys interface for device groups not yet supported.");
|
||||
$path = make_path(SCST_ROOT_DIR(), SCST_MGMT_IO);
|
||||
$cmd = "in " . make_path(IN_SCST_DEV_GROUPS, $group,
|
||||
SCST_DG_TGROUPS) . " ";
|
||||
} else {
|
||||
$path = make_path(SCST_DEV_GROUP_DIR(), $group, SCST_DG_TGROUPS, SCST_MGMT_IO);
|
||||
}
|
||||
@@ -1881,7 +1890,9 @@ sub removeTargetGroupTarget {
|
||||
|
||||
my ($path, $cmd);
|
||||
if (new_sysfs_interface()) {
|
||||
die("New /sys interface for device groups not yet supported.");
|
||||
$path = make_path(SCST_ROOT_DIR(), SCST_MGMT_IO);
|
||||
$cmd = "in " . make_path(IN_SCST_DEV_GROUPS, $group,
|
||||
SCST_DG_TGROUPS, $tgroup) . " ";
|
||||
} else {
|
||||
$path = make_path(SCST_DEV_GROUP_DIR(), $group, SCST_DG_TGROUPS,
|
||||
$tgroup, SCST_MGMT_IO);
|
||||
|
||||
Reference in New Issue
Block a user