Commit Graph

335 Commits

Author SHA1 Message Date
Bart Van Assche
ff73c5cb2e scstadmin: Make -list_ttgt_attr and -set_ttgt_attr work for local target ports
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5106 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-13 21:16:37 +00:00
Bart Van Assche
4f31d1cc0e scstadmin: Sort target group names alphabetically
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5105 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-13 21:08:53 +00:00
Bart Van Assche
40908c5d37 scstadmin: Remove duplicate code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5104 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-13 21:07:19 +00:00
Bart Van Assche
573b0e5dcb scstadmin: Avoid complaints about passing an undefined value to chomp()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5103 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-13 21:06:46 +00:00
Bart Van Assche
4e6228fbb0 scstadmin: Avoid confusing Emacs' syntax highlighting algorithm
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5081 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-24 07:26:35 +00:00
Bart Van Assche
5d8a563648 scstadmin: Reduce the time needed to save or restore a configuration
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5075 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-21 18:36:01 +00:00
Bart Van Assche
ca750d6383 scstadmin: Add more regression tests
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5070 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 16:40:02 +00:00
Bart Van Assche
a02cf2379d scstadmin, SCST.pm, targets(): Return target names sorted alphabetically
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5069 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 16:33:05 +00:00
Bart Van Assche
dad81d3ba5 scstadmin: Add a regression test infrastructure
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5068 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:37:16 +00:00
Bart Van Assche
0298c2ecc3 scstadmin, SCST.pm: Fix checkTargetDynamicAttributes() return code
If no attributes have been passed to this function via the second argument,
only report success if the driver (first argument) exists.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5067 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:36:40 +00:00
Bart Van Assche
5ea0cf813f scstadmin, SCST.pm: Make argument checking more strict
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5066 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:30:31 +00:00
Bart Van Assche
00a6eeafe7 scstadmin: Add command-line option -cont_on_err
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5065 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:28:05 +00:00
Bart Van Assche
4b63daed53 scstadmin, SCST.pm: Fix checkDriverDynamicAttributes() return code
If no attributes have been passed to this function via the second argument,
only report success if the driver (first argument) exists.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5064 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:14:11 +00:00
Bart Van Assche
9e77adb8b8 scstadmin, SCST.pm: Fix setLunAttribute() error return code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5063 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:10:58 +00:00
Bart Van Assche
bf82499635 scstadmin, SCST.pm: Fix lunExists() return code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5062 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:09:59 +00:00
Bart Van Assche
960759632f scstadmin, SCST.pm: Avoid triggering runtime warnings about strings having the value "undef"
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5061 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:08:38 +00:00
Bart Van Assche
70a9baa58a scstadmin, SCST.pm: Check the number of arguments passed to subroutines
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5060 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:07:47 +00:00
Bart Van Assche
5fc9261fc8 scstadmin, SCST.pm: Remove dead code
_syswrite() either returns a positive number or undef but never -1.
Hence remove code that would only be executed if _syswrite() would
have returned -1.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5059 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:04:59 +00:00
Bart Van Assche
2a93823408 scstadmin: Fix Perl syntax
The Perl operator for comparing strings is "eq" and not "=".


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5058 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:04:16 +00:00
Bart Van Assche
117304c1a7 scstadmin: Fix a typo in a diagnostic message
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5057 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:03:05 +00:00
Bart Van Assche
140c5af41c scstadmin: Set hardware target attributes correctly
For target drivers that support creating targets, e.g. the Emulex
FC driver, it is possible that a target attribute is both writable
for existing (hardware) targets and that it has to be specified
when creating a (virtual) target. Make sure that scstadmin sets
these attributes for existing (hardware) targets when restoring a
configuration.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5056 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 15:02:25 +00:00
Bart Van Assche
813a97afc3 scstadmin: Add infrastructure for building an RPM
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5055 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-10 14:32:40 +00:00
Bart Van Assche
6b6bcca4c8 scstadmin: Ensure that the version number can be parsed from inside Makefile.PL
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4988 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-06 06:39:25 +00:00
Bart Van Assche
f94393b43c scstadmin: Enable targets after the ALUA configuration has been restored
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4942 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-04 18:16:51 +00:00
Bart Van Assche
2c67878832 scstadmin: Add ALUA attribute support
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4941 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-04 18:15:28 +00:00
Bart Van Assche
5d6b0142a8 scstadmin: Fix parsing names of multi-valued attributes
When defining e.g. more than ten CHAP users in scst.conf, scstadmin
only saves the first then CHAP users. Make sure that scstadmin saves
all information defined in sysfs.

Reported-by: Artur Piechocki <artur.piechocki@open-e.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4928 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-07-30 10:49:02 +00:00
Bart Van Assche
dfe644834c scstadmin: Save multi-valued attributes sorted
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4927 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-07-30 10:41:15 +00:00
Bart Van Assche
21c8cfa9f1 scstadmin: Escape special characters in initiator names in the LUN masking section
Write out e.g. "INITIATOR iqn.1994-05.com.redhat:29a5cc399d\#192.168.11.1"
instead of "INITIATOR iqn.1994-05.com.redhat:29a5cc399d#192.168.11.1" when
generating a config file such that the hash sign is read in properly when
rereading the SCST config file.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4907 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-07-01 11:57:19 +00:00
Vladislav Bolkhovitin
84f6cb5dae scst_vdisk: Add support for nullio "dummy" LUNs
While the SCSI specifications require presence of LUN 0 it is not always
desirable to associate storage with LUN 0. Hence allow LUN 0 (or any
other LUN) to be configured such that it does not appear at the
initiator side. This is realized by adding a "dummy" attribute in to
NULLIO vdisk devices. If that attribute is set, the PERIPHERAL QUALIFIER
field in the INQUIRY response is set to 1 and the PERIPHERAL DEVICE TYPE
is set to 0x1f. Add an example in the scst.conf(5) man page that shows
how to use the new attribute.

Signed-off-by: Bart Van Assche <bvanassche@acm.org> with some fixes and simplifications



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4874 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-22 03:48:26 +00:00
Bart Van Assche
f709ef3150 scstadmin: Speed up restoring a configuration about 40% by caching certain /sys/kernel/scst_tgt/ query results
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4833 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-04-08 07:30:06 +00:00
Bart Van Assche
d48169fb47 scstadmin: lsb-core is no longer required, so remove the lsb-core check
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4823 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-03-27 10:11:31 +00:00
Bart Van Assche
ab0b9743b4 scstadmin: Do not save duplicate target information in the ALUA sections
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4808 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-03-20 14:47:17 +00:00
Vladislav Bolkhovitin
369863f015 Allow install SCST in any location
Currently the install location of SCST is pretty much hard coded into 
the Makefiles to be /usr/local.

I am custom building a system for ZFS & SCST and I want to install in 
/usr instead of /usr/local.

Currently I am doing a “find . -name Makefile -exec sed -i 's:/usr/local:/usr:g'
{} \;” to accommodate this.

This patch fixes it.

From Sietse van Zanen <sietse@wizdom.nu>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4791 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-03-08 21:25:45 +00:00
Bart Van Assche
2005f20144 scstadmin: Correct release-archive target
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4734 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-13 17:52:31 +00:00
Bart Van Assche
14a4b165d8 scstadmin: Add release-archive target
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4732 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-13 17:48:15 +00:00
Mark Buechler
3fa995bb29 Truncate config file instead of deleting it before writing.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4728 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-11 17:59:51 +00:00
Bart Van Assche
82fcc41287 /etc/init.d/scst: Change one tab into a space
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4686 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-06 09:32:40 +00:00
Bart Van Assche
97e8aa1f08 /etc/init.d/scst: Introduce character classes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4685 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-06 09:32:00 +00:00
Bart Van Assche
88376b1577 /etc/init.d/scst: Revert r4151 and hence restore r4023 since this setting is needed again for openSUSE 12.2 systems
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4684 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-06 09:14:39 +00:00
Mark Buechler
e75a90ef5e Fix 0-named groups. Patch by Alexey Obitotskiy, originally identified by Marcin Haba.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4639 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-05 15:14:30 +00:00
Bart Van Assche
e838840e6b scstadmin/Makefile: Use chkconfig on RHEL instead of the LSB scripts
chkconfig is installed by default while /usr/lib/lsb/install_initd and
/usr/lib/lsb/remove_initd are not installed by default.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4612 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-09 12:04:58 +00:00
Bart Van Assche
45e27bfa42 scstadmin/Makefile: Clean up whitespace usage
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4611 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-09 10:36:59 +00:00
Bart Van Assche
413a68a53e scstadmin, Ubuntu: Use update-rc.d instead of the LSB /usr/lib/lsb/remove_initd - the latter is not installed by default
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4609 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-08 14:25:37 +00:00
Bart Van Assche
37431aae60 /etc/init.d/scst: Wait up to 30s before giving up trying to unload a kernel module
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4608 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-08 14:23:13 +00:00
Bart Van Assche
62ba210a31 scstadmin: Create /etc/default if it does not yet exist
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4537 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-01 13:25:28 +00:00
Bart Van Assche
f79293427a scstadmin: Use $(DESTDIR) when uninstalling SCST 2.x startup scripts
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4536 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-01 13:24:46 +00:00
Vladislav Bolkhovitin
7b1f00d2cb Increase version to -pre2. Pre1 was staying for too long.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4519 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-09-14 01:33:58 +00:00
Bart Van Assche
f11ebeafe4 [PATCH] scstadmin: Handle -EAGAIN when reading from sysfs
Reading from /sys/kernel/scst_tgt/devices/*/filename can (at
least in theory) fail with -EAGAIN. Make sure that scstadmin
retries reading from a sysfs variable if that happens. This
patch has been tested by adding the following error injection
code in scst_sysfs.c:

 --------------------------- scst/src/scst_sysfs.c ----------------------------
index 0509703..69efd80 100644
@@ -523,6 +523,22 @@ int scst_sysfs_queue_wait_work(struct scst_sysfs_work_item *work)
 			"failed: %d", atomic_read(&uid_thread_name),
 			(int)PTR_ERR(t));

+#if 1
+	{
+		static int cnt;
+		if (!work->read_only_action || cnt++ % 4 < 3) {
+			/*
+			 * Helps testing user space code that writes to or
+			 * reads from SCST sysfs variables.
+			 */
+			timeout = 0;
+			rc = 0;
+			res = -EAGAIN;
+			goto out_put;
+		}
+	}
+#endif
+
 	while (1) {
 		rc = wait_for_completion_interruptible_timeout(
 			&work->sysfs_work_done, timeout);
 ------------------------------------------------------------------------------

Signed-off-by: Bart Van Assche <bvanassche@acm.org>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4498 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-08-30 14:47:49 +00:00
Mark Buechler
03f3be2ccb - Add -no_lip option to prevent automatically issueing a LIP after a configuration change.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4474 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-08-27 14:38:54 +00:00
Bart Van Assche
95246ee9d7 scstadmin: Make _syswrite() translate EBUSY into "writing failed"
_syswrite() callers check whether writing into an SCST sysfs attribute
succeeded by checking whether the value returned by this function is
defined(). Return undef (failed) instead of -1 (success) if syswrite()
returned error code EBUSY (found this through source reading). Return
$length instead of length($cmd) if the initial write triggered EAGAIN.
Remove a superfluous $bytes = undef statement. Eliminate the variable
$wait.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4400 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-07-09 06:12:47 +00:00