This commit is contained in:
commit
9105d32d29
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
81
boot.open-iscsi
Normal file
81
boot.open-iscsi
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# /etc/init.d/iscsi
|
||||||
|
#
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: iscsiboot
|
||||||
|
# Required-Start:
|
||||||
|
# Should-Start:
|
||||||
|
# Required-Stop:
|
||||||
|
# Should-Stop:
|
||||||
|
# Default-Start: B
|
||||||
|
# Default-Stop:
|
||||||
|
# Short-Description: Starts the iSCSI initiator daemon
|
||||||
|
#
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
PID_FILE=/var/run/iscsi.pid
|
||||||
|
CONFIG_FILE=/etc/iscsid.conf
|
||||||
|
DAEMON=/sbin/iscsid
|
||||||
|
ARGS="-c $CONFIG_FILE -p $PID_FILE"
|
||||||
|
|
||||||
|
# Source LSB init functions
|
||||||
|
. /etc/rc.status
|
||||||
|
|
||||||
|
#
|
||||||
|
# This service is run right after booting. So all activated targets
|
||||||
|
# must be enabled during mkinitrd run and thus should not be removed
|
||||||
|
# when the open-iscsi service is stopped.
|
||||||
|
#
|
||||||
|
iscsi_mark_root_nodes()
|
||||||
|
{
|
||||||
|
TARGETS=$($ISCSIADM -m session 2> /dev/null | sed 's@\[[^:]*:\(.*\)\] .*@\1@g')
|
||||||
|
for rec in $TARGETS; do
|
||||||
|
STARTUP=`$ISCSIADM -m node -r $rec | grep "node.conn\[0\].startup" | cut -d' ' -f3`
|
||||||
|
if [ $STARTUP != "onboot" ] ; then
|
||||||
|
$ISCSIADM -m node -r $rec -o update -n node.conn[0].startup -v onboot
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Reset status of this service
|
||||||
|
rc_reset
|
||||||
|
|
||||||
|
# We only need to start this for root on iSCSI
|
||||||
|
if ! grep -q iscsi_tcp /proc/modules ; then
|
||||||
|
rc_failed 7
|
||||||
|
rc_exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
[ ! -d /var/lib/open-iscsi ] && mkdir -p /var/lib/open-iscsi
|
||||||
|
echo -n "Starting iSCSI initiator for the root device: "
|
||||||
|
startproc $DAEMON $ARGS
|
||||||
|
rc_status -v
|
||||||
|
iscsi_mark_root_nodes
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
rc_failed 0
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
echo -n "Checking for iSCSI initiator service: "
|
||||||
|
if checkproc $DAEMON ; then
|
||||||
|
rc_status -v
|
||||||
|
else
|
||||||
|
rc_failed 3
|
||||||
|
rc_status -v
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
$0 stop
|
||||||
|
sleep 1
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|status|restart}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
rc_exit
|
||||||
|
|
140
iscsi-iname.c
Normal file
140
iscsi-iname.c
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
/*
|
||||||
|
* iSCSI InitiatorName creation utility
|
||||||
|
* Copyright (C) 2001 Cisco Systems, Inc.
|
||||||
|
* maintained by linux-iscsi-devel@lists.sourceforge.net
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published
|
||||||
|
* by the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* See the file COPYING included with this distribution for more details.
|
||||||
|
*
|
||||||
|
* $Id: iscsi-iname.c,v 1.4 2004/12/03 19:36:13 mikenc Exp $
|
||||||
|
*
|
||||||
|
* iscsi-iname.c - Compute an iSCSI InitiatorName for this host.
|
||||||
|
* Note that to ensure uniqueness, the system time is
|
||||||
|
* a factor. This name must be cached and only regenerated
|
||||||
|
* if there is no cached value.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
#include "md5.h"
|
||||||
|
|
||||||
|
#define TARGET_NAME_MAXLEN 255
|
||||||
|
#define RANDOM_NUM_GENERATOR "/dev/urandom"
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
char iname[TARGET_NAME_MAXLEN + 1];
|
||||||
|
struct timeval time;
|
||||||
|
struct utsname system_info;
|
||||||
|
long hostid;
|
||||||
|
struct MD5Context context;
|
||||||
|
unsigned char digest[16];
|
||||||
|
unsigned char *bytes = digest;
|
||||||
|
unsigned char entropy[16];
|
||||||
|
int e;
|
||||||
|
int fd;
|
||||||
|
char *prefix;
|
||||||
|
|
||||||
|
/* initialize */
|
||||||
|
memset(iname, 0, sizeof (iname));
|
||||||
|
memset(digest, 0, sizeof (digest));
|
||||||
|
memset(&context, 0, sizeof (context));
|
||||||
|
MD5Init(&context);
|
||||||
|
|
||||||
|
/* take a prefix if given, otherwise use a default. */
|
||||||
|
if (argc > 1 && argv[1]) {
|
||||||
|
prefix = argv[1];
|
||||||
|
if (( strcmp(prefix, "-h") == 0 ) ||
|
||||||
|
( strcmp(prefix, "--help") == 0 )) {
|
||||||
|
printf("\nDisplays the iSCSI initiator name\n");
|
||||||
|
return 0;
|
||||||
|
} else if ( strcmp(prefix, "-p") == 0 ) {
|
||||||
|
prefix = argv[2];
|
||||||
|
} else {
|
||||||
|
printf("\nUsage: iscsi-iname [-h | --help | "
|
||||||
|
"-p <prefix>]\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
prefix = "iqn.1987-05.com.cisco:01";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* try to feed some entropy from the pool to MD5 in order to get
|
||||||
|
* uniqueness properties
|
||||||
|
*/
|
||||||
|
|
||||||
|
if ((fd = open(RANDOM_NUM_GENERATOR, O_RDONLY))) {
|
||||||
|
e = read(fd, &entropy, 16);
|
||||||
|
if (e >= 1)
|
||||||
|
MD5Update(&context, (md5byte *)entropy, e);
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* time the name is created is a factor in order to get
|
||||||
|
* uniqueness properties
|
||||||
|
*/
|
||||||
|
if (gettimeofday(&time, NULL) < 0) {
|
||||||
|
perror("error: gettimeofday failed");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
MD5Update(&context, (md5byte *) & time.tv_sec, sizeof (time.tv_sec));
|
||||||
|
MD5Update(&context, (md5byte *) & time.tv_usec, sizeof (time.tv_usec));
|
||||||
|
|
||||||
|
/* hostid */
|
||||||
|
hostid = gethostid();
|
||||||
|
MD5Update(&context, (md5byte *) & hostid, sizeof (hostid));
|
||||||
|
|
||||||
|
/* get the hostname and system name */
|
||||||
|
if (uname(&system_info) < 0) {
|
||||||
|
perror("error: uname failed");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
MD5Update(&context, (md5byte *) system_info.sysname,
|
||||||
|
sizeof (system_info.sysname));
|
||||||
|
MD5Update(&context, (md5byte *) system_info.nodename,
|
||||||
|
sizeof (system_info.nodename));
|
||||||
|
MD5Update(&context, (md5byte *) system_info.release,
|
||||||
|
sizeof (system_info.release));
|
||||||
|
MD5Update(&context, (md5byte *) system_info.version,
|
||||||
|
sizeof (system_info.version));
|
||||||
|
MD5Update(&context, (md5byte *) system_info.machine,
|
||||||
|
sizeof (system_info.machine));
|
||||||
|
|
||||||
|
/* compute the md5 hash of all the bits we just collected */
|
||||||
|
MD5Final(digest, &context);
|
||||||
|
|
||||||
|
/* vary which md5 bytes we pick (though we probably don't need to do
|
||||||
|
* this, since hopefully MD5 produces results such that each byte is as
|
||||||
|
* good as any other).
|
||||||
|
*/
|
||||||
|
|
||||||
|
if ((fd = open(RANDOM_NUM_GENERATOR, O_RDONLY))) {
|
||||||
|
if (read(fd, entropy, 1) == 1)
|
||||||
|
bytes = &digest[(entropy[0] % (sizeof(digest) - 6))];
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* print the prefix followed by 6 bytes of the MD5 hash */
|
||||||
|
sprintf(iname, "%s.%x%x%x%x%x%x", prefix,
|
||||||
|
bytes[0], bytes[1], bytes[2], bytes[3], bytes[4], bytes[5]);
|
||||||
|
|
||||||
|
iname[sizeof (iname) - 1] = '\0';
|
||||||
|
printf("%s\n", iname);
|
||||||
|
return 0;
|
||||||
|
}
|
3
open-iscsi-2.0-707.tar.gz
Normal file
3
open-iscsi-2.0-707.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2bd837f02a8f82c9782346b91836e17172f6f62ecc4b2224739eb2e8d5d9ea08
|
||||||
|
size 177056
|
226
open-iscsi-713.diff
Normal file
226
open-iscsi-713.diff
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
Index: kernel/scsi_transport_iscsi.c
|
||||||
|
===================================================================
|
||||||
|
--- kernel/scsi_transport_iscsi.c (revision 707)
|
||||||
|
+++ kernel/scsi_transport_iscsi.c (revision 713)
|
||||||
|
@@ -33,7 +33,7 @@
|
||||||
|
#define ISCSI_SESSION_ATTRS 11
|
||||||
|
#define ISCSI_CONN_ATTRS 11
|
||||||
|
#define ISCSI_HOST_ATTRS 0
|
||||||
|
-#define ISCSI_TRANSPORT_VERSION "2.0-707"
|
||||||
|
+#define ISCSI_TRANSPORT_VERSION "2.0-711"
|
||||||
|
|
||||||
|
struct iscsi_internal {
|
||||||
|
int daemon_pid;
|
||||||
|
Index: doc/iscsid.8
|
||||||
|
===================================================================
|
||||||
|
--- doc/iscsid.8 (revision 707)
|
||||||
|
+++ doc/iscsid.8 (revision 713)
|
||||||
|
@@ -15,11 +15,11 @@
|
||||||
|
.TP
|
||||||
|
.BI [-c|--config=]\fIconfig\-file\fP
|
||||||
|
Read configuration from \fIconfig\-file\fR rather than the default
|
||||||
|
-\fI/etc/iscsid.conf\fR file.
|
||||||
|
+\fI/etc/iscsi/iscsid.conf\fR file.
|
||||||
|
.TP
|
||||||
|
.BI [-i|--initiatorname=]\fIiname\-file\fP
|
||||||
|
Read initiator name from \fIiname\-file\fR rather than the default
|
||||||
|
-\fI/etc/initiatorname.iscsi\fR file.
|
||||||
|
+\fI/etc/iscsi/initiatorname.iscsi\fR file.
|
||||||
|
.TP
|
||||||
|
.BI [-f|--foreground]
|
||||||
|
run
|
||||||
|
@@ -47,14 +47,14 @@
|
||||||
|
|
||||||
|
.SH FILES
|
||||||
|
.TP
|
||||||
|
-/etc/iscsid.conf
|
||||||
|
+/etc/iscsi/iscsid.conf
|
||||||
|
The configuration file read by
|
||||||
|
.B iscsid
|
||||||
|
and
|
||||||
|
.B iscsiadm
|
||||||
|
on startup.
|
||||||
|
.TP
|
||||||
|
-/etc/initiatorname.iscsi
|
||||||
|
+/etc/iscsi/initiatorname.iscsi
|
||||||
|
The file containing the iSCSI initiatorname
|
||||||
|
and initiatoralias read by
|
||||||
|
.B iscsid
|
||||||
|
@@ -62,7 +62,7 @@
|
||||||
|
.B iscsiadm
|
||||||
|
on startup.
|
||||||
|
.TP
|
||||||
|
-/var/db/iscsi/*.db
|
||||||
|
+/etc/iscsi/nodes
|
||||||
|
Open-iSCSI persistent configuration database
|
||||||
|
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
Index: usr/idbm.c
|
||||||
|
===================================================================
|
||||||
|
--- usr/idbm.c (revision 707)
|
||||||
|
+++ usr/idbm.c (revision 713)
|
||||||
|
@@ -961,15 +961,14 @@
|
||||||
|
discovery_rec_t *drec;
|
||||||
|
node_rec_t *nrec;
|
||||||
|
|
||||||
|
- /* sync default configuration */
|
||||||
|
- idbm_sync_config(db, 1);
|
||||||
|
-
|
||||||
|
/* allocate new discovery record and initialize with defaults */
|
||||||
|
drec = malloc(sizeof(discovery_rec_t));
|
||||||
|
if (!drec) {
|
||||||
|
log_error("out of memory on discovery record allocation");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
+ drec->type = type;
|
||||||
|
+
|
||||||
|
if (drec->type == DISCOVERY_TYPE_SENDTARGETS) {
|
||||||
|
memcpy(drec, &db->drec_st, sizeof(discovery_rec_t));
|
||||||
|
} else if (drec->type == DISCOVERY_TYPE_SLP) {
|
||||||
|
@@ -988,7 +987,6 @@
|
||||||
|
memcpy(nrec, &db->nrec, sizeof(node_rec_t));
|
||||||
|
|
||||||
|
/* update discovery record */
|
||||||
|
- drec->type = type;
|
||||||
|
if (drec->type == DISCOVERY_TYPE_SENDTARGETS) {
|
||||||
|
strncpy(drec->u.sendtargets.address, ip, NI_MAXHOST);
|
||||||
|
drec->u.sendtargets.port = port;
|
||||||
|
@@ -1138,6 +1136,9 @@
|
||||||
|
void
|
||||||
|
idbm_sendtargets_defaults(idbm_t *db, struct iscsi_sendtargets_config *cfg)
|
||||||
|
{
|
||||||
|
+ /* sync default configuration */
|
||||||
|
+ idbm_sync_config(db, 1);
|
||||||
|
+
|
||||||
|
memcpy(cfg, &db->drec_st.u.sendtargets,
|
||||||
|
sizeof(struct iscsi_sendtargets_config));
|
||||||
|
}
|
||||||
|
Index: usr/initiator.c
|
||||||
|
===================================================================
|
||||||
|
--- usr/initiator.c (revision 707)
|
||||||
|
+++ usr/initiator.c (revision 713)
|
||||||
|
@@ -1528,6 +1528,10 @@
|
||||||
|
log_debug(6, "looking for session [%s,%s,%d]",
|
||||||
|
rec->name, rec->conn[0].address, rec->conn[0].port);
|
||||||
|
|
||||||
|
+ if (strlen(rec->name) != strlen(targetname) ||
|
||||||
|
+ strlen(rec->conn[0].address) != strlen(address))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
if (!strncmp(rec->name, targetname, strlen(rec->name)) &&
|
||||||
|
!strncmp(rec->conn[0].address, address,
|
||||||
|
strlen(rec->conn[0].address)) &&
|
||||||
|
Index: usr/version.h
|
||||||
|
===================================================================
|
||||||
|
--- usr/version.h (revision 707)
|
||||||
|
+++ usr/version.h (revision 713)
|
||||||
|
@@ -6,7 +6,7 @@
|
||||||
|
* This may not be the same value as the kernel versions because
|
||||||
|
* some other maintainer could merge a patch without going through us
|
||||||
|
*/
|
||||||
|
-#define ISCSI_VERSION_STR "2.0-707"
|
||||||
|
+#define ISCSI_VERSION_STR "2.0-711"
|
||||||
|
#define ISCSI_VERSION_FILE "/sys/module/scsi_transport_iscsi/version"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
Index: etc/initd/initd.suse
|
||||||
|
===================================================================
|
||||||
|
--- etc/initd/initd.suse (revision 707)
|
||||||
|
+++ etc/initd/initd.suse (revision 713)
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
PID_FILE=/var/run/iscsi.pid
|
||||||
|
-CONFIG_FILE=/etc/iscsid.conf
|
||||||
|
+CONFIG_FILE=/etc/iscsi/iscsid.conf
|
||||||
|
DAEMON=/sbin/iscsid
|
||||||
|
ISCSIADM=/sbin/iscsiadm
|
||||||
|
ARGS="-c $CONFIG_FILE -p $PID_FILE"
|
||||||
|
@@ -59,7 +59,7 @@
|
||||||
|
$ISCSIADM -m session | while read line; do
|
||||||
|
set ${line}
|
||||||
|
TARGET=$(echo $line | cut -d" " -f4)
|
||||||
|
- PORTAL=$(echo $line | cut -d" " -f3 | sed 's/,.//')
|
||||||
|
+ PORTAL=$(echo $line | cut -d" " -f3 | sed 's/,.*//')
|
||||||
|
STARTUP=`$ISCSIADM -m node --targetname $TARGET -p $PORTAL | grep "node.conn\[0\].startup" | cut -d' ' -f3`
|
||||||
|
NODE=`$ISCSIADM -m node --targetname $TARGET -p $PORTAL | grep "node.name" | cut -d' ' -f3`
|
||||||
|
if [ $STARTUP != "onboot" ] ; then
|
||||||
|
@@ -85,7 +85,7 @@
|
||||||
|
$ISCSIADM -m session | while read line; do
|
||||||
|
set ${line}
|
||||||
|
TARGET=$(echo $line | cut -d" " -f4)
|
||||||
|
- PORTAL=$(echo $line | cut -d" " -f3 | sed 's/,.//')
|
||||||
|
+ PORTAL=$(echo $line | cut -d" " -f3 | sed 's/,.*//')
|
||||||
|
NODE=`$ISCSIADM -m node --targetname $TARGET -p $PORTAL | grep "node.name" | cut -d' ' -f3`
|
||||||
|
echo -e "\t$NODE"
|
||||||
|
done
|
||||||
|
Index: etc/initd/initd.debian
|
||||||
|
===================================================================
|
||||||
|
--- etc/initd/initd.debian (revision 707)
|
||||||
|
+++ etc/initd/initd.debian (revision 713)
|
||||||
|
@@ -6,7 +6,7 @@
|
||||||
|
|
||||||
|
PID_FILE=/var/run/iscsid.pid
|
||||||
|
CONFIG_FILE=/etc/iscsid.conf
|
||||||
|
-DAEMON=/usr/sbin/iscsid
|
||||||
|
+DAEMON=/sbin/iscsid
|
||||||
|
|
||||||
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
|
||||||
|
Index: README
|
||||||
|
===================================================================
|
||||||
|
--- README (revision 707)
|
||||||
|
+++ README (revision 713)
|
||||||
|
@@ -123,7 +123,7 @@
|
||||||
|
|
||||||
|
Usage: iscsid [OPTION]
|
||||||
|
|
||||||
|
- -c, --config=[path] Execute in the config file (/etc/iscsid.conf).
|
||||||
|
+ -c, --config=[path] Execute in the config file (/etc/iscsi/iscsid.conf).
|
||||||
|
-f, --foreground run iscsid in the foreground
|
||||||
|
-d, --debug debuglevel print debugging information
|
||||||
|
-u, --uid=uid run as uid, default is current user
|
||||||
|
@@ -141,10 +141,10 @@
|
||||||
|
|
||||||
|
The database contains two tables:
|
||||||
|
|
||||||
|
-- Discovery table (discovery.db);
|
||||||
|
-- Node table (node.db).
|
||||||
|
+- Discovery table (/etc/iscsi/send_targets);
|
||||||
|
+- Node table (/etc/iscsi/nodes).
|
||||||
|
|
||||||
|
-The regular place for iSCSI database files: /var/db/iscsi/*.db
|
||||||
|
+The regular place for iSCSI database files: /etc/iscsi/nodes
|
||||||
|
|
||||||
|
The iscsiadm utility is a command-line tool to manage (update, delete,
|
||||||
|
insert, query) the persistent database.
|
||||||
|
@@ -250,7 +250,7 @@
|
||||||
|
6. Configuration
|
||||||
|
================
|
||||||
|
|
||||||
|
-The default configuration file is /etc/iscsid.conf. This file contains
|
||||||
|
+The default configuration file is /etc/iscsi/iscsid.conf. This file contains
|
||||||
|
only configuration that could be overwritten by iSCSI Discovery,
|
||||||
|
or manualy updated via iscsiadm utility. Its OK if this file does not
|
||||||
|
exist in which case compiled-in default configuration will take place
|
||||||
|
@@ -333,9 +333,9 @@
|
||||||
|
Once iscsi is up, you can perform discovery to targets using:
|
||||||
|
iscsiadm -m discovery -t sendtargets -p 192.168.1.1:3260
|
||||||
|
|
||||||
|
-While discovery targets are kept in the discovery.db, they are
|
||||||
|
+While discovery targets are kept in the discovery db, they are
|
||||||
|
usefull only for re-discovery. The discovered targets (a.k.a. nodes)
|
||||||
|
-are stored as records in the xxx.db.
|
||||||
|
+are stored as records in the node db.
|
||||||
|
|
||||||
|
The discovered targets are not logged into yet. Rather than logging
|
||||||
|
into the discovered nodes (making LUs from those nodes available as
|
||||||
|
@@ -350,7 +350,7 @@
|
||||||
|
iscsiadm -m node -T targetname -p ip:port --op update -n node.conn[0].startup -v automatic
|
||||||
|
|
||||||
|
Or to set the "node.conn[0].statup" attribute to "startup" as default for
|
||||||
|
-all sessions add the following to the /etc/iscsid.conf:
|
||||||
|
+all sessions add the following to the /etc/iscsi/iscsid.conf:
|
||||||
|
|
||||||
|
node.conn[0].startup = automatic
|
||||||
|
|
111
open-iscsi-check-active-sessions-before-delete
Normal file
111
open-iscsi-check-active-sessions-before-delete
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
diff --git a/usr/iscsiadm.c b/usr/iscsiadm.c
|
||||||
|
index 07922ca..873607b 100644
|
||||||
|
--- a/usr/iscsiadm.c
|
||||||
|
+++ b/usr/iscsiadm.c
|
||||||
|
@@ -260,6 +260,19 @@ session_logout(int rid, node_rec_t *rec)
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
+session_active(int rid)
|
||||||
|
+{
|
||||||
|
+ iscsiadm_req_t req;
|
||||||
|
+ iscsiadm_rsp_t rsp;
|
||||||
|
+
|
||||||
|
+ memset(&req, 0, sizeof(req));
|
||||||
|
+ req.command = MGMT_IPC_SESSION_ACTIVE;
|
||||||
|
+ req.u.session.rid = rid;
|
||||||
|
+
|
||||||
|
+ return do_iscsid(&ipc_fd, &req, &rsp);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static int
|
||||||
|
config_init(void)
|
||||||
|
{
|
||||||
|
int rc;
|
||||||
|
@@ -726,6 +739,12 @@ main(int argc, char **argv)
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
} else if (op == OP_DELETE) {
|
||||||
|
+ rc = session_active(rid);
|
||||||
|
+ if (rc > 0 && rc != MGMT_IPC_ERR_NOT_FOUND) {
|
||||||
|
+ iscsid_handle_error(rc);
|
||||||
|
+ rc = -1;
|
||||||
|
+ goto out;
|
||||||
|
+ }
|
||||||
|
if (idbm_delete_node(db, &rec)) {
|
||||||
|
log_error("can not delete record");
|
||||||
|
rc = -1;
|
||||||
|
diff --git a/usr/mgmt_ipc.c b/usr/mgmt_ipc.c
|
||||||
|
index d1f1eaf..4682b34 100644
|
||||||
|
--- a/usr/mgmt_ipc.c
|
||||||
|
+++ b/usr/mgmt_ipc.c
|
||||||
|
@@ -123,6 +123,27 @@ mgmt_ipc_session_login(struct mgmt_ipc_d
|
||||||
|
}
|
||||||
|
|
||||||
|
static mgmt_ipc_err_e
|
||||||
|
+mgmt_ipc_session_active(queue_task_t *qtask, int rid)
|
||||||
|
+{
|
||||||
|
+ iscsi_session_t *session;
|
||||||
|
+ struct qelem *item;
|
||||||
|
+ int i;
|
||||||
|
+
|
||||||
|
+ for (i = 0; i < num_providers; i++) {
|
||||||
|
+ item = provider[i].sessions.q_forw;
|
||||||
|
+ while (item != &provider[i].sessions) {
|
||||||
|
+ session = (iscsi_session_t *)item;
|
||||||
|
+ if (session->nrec.id == rid)
|
||||||
|
+ return MGMT_IPC_ERR_ACTIVE;
|
||||||
|
+
|
||||||
|
+ item = item->q_forw;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return MGMT_IPC_ERR_NOT_FOUND;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static mgmt_ipc_err_e
|
||||||
|
mgmt_ipc_session_activelist(queue_task_t *qtask, iscsiadm_rsp_t *rsp)
|
||||||
|
{
|
||||||
|
iscsi_session_t *session;
|
||||||
|
@@ -383,6 +404,9 @@ mgmt_ipc_handle(struct mgmt_ipc_db *dbt,
|
||||||
|
rsp.err = mgmt_ipc_session_sync(dbt, qtask, req.u.session.rid,
|
||||||
|
req.u.session.sid);
|
||||||
|
break;
|
||||||
|
+ case MGMT_IPC_SESSION_ACTIVE:
|
||||||
|
+ rsp.err = mgmt_ipc_session_active(qtask, req.u.session.rid);
|
||||||
|
+ break;
|
||||||
|
case MGMT_IPC_SESSION_ACTIVELIST:
|
||||||
|
rsp.err = mgmt_ipc_session_activelist(qtask, &rsp);
|
||||||
|
immrsp = 1;
|
||||||
|
diff --git a/usr/mgmt_ipc.h b/usr/mgmt_ipc.h
|
||||||
|
index be12070..9564ed5 100644
|
||||||
|
--- a/usr/mgmt_ipc.h
|
||||||
|
+++ b/usr/mgmt_ipc.h
|
||||||
|
@@ -42,6 +42,7 @@ typedef enum mgmt_ipc_err {
|
||||||
|
MGMT_IPC_ERR_ACCESS = 13,
|
||||||
|
MGMT_IPC_ERR_TRANS_CAPS = 14,
|
||||||
|
MGMT_IPC_ERR_EXISTS = 15,
|
||||||
|
+ MGMT_IPC_ERR_ACTIVE = 16,
|
||||||
|
} mgmt_ipc_err_e;
|
||||||
|
|
||||||
|
typedef enum iscsiadm_cmd {
|
||||||
|
@@ -58,6 +59,7 @@ typedef enum iscsiadm_cmd {
|
||||||
|
MGMT_IPC_CONFIG_FILE = 10,
|
||||||
|
MGMT_IPC_IMMEDIATE_STOP = 11,
|
||||||
|
MGMT_IPC_SESSION_SYNC = 12,
|
||||||
|
+ MGMT_IPC_SESSION_ACTIVE = 13,
|
||||||
|
} iscsiadm_cmd_e;
|
||||||
|
|
||||||
|
/* IPC Request */
|
||||||
|
diff --git a/usr/util.c b/usr/util.c
|
||||||
|
index a4c0b5a..ba63850 100644
|
||||||
|
--- a/usr/util.c
|
||||||
|
+++ b/usr/util.c
|
||||||
|
@@ -194,6 +194,7 @@ void iscsid_handle_error(int err)
|
||||||
|
/* 13 */ "daemon access denied",
|
||||||
|
/* 14 */ "iSCSI transport capability failure",
|
||||||
|
/* 15 */ "already exists",
|
||||||
|
+ /* 16 */ "session still active",
|
||||||
|
};
|
||||||
|
log_error("initiator reported error (%d - %s)", err, err_msgs[err]);
|
||||||
|
}
|
20
open-iscsi-iscsi-iname-Makefile.patch
Normal file
20
open-iscsi-iscsi-iname-Makefile.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--- open-iscsi-0.5-454/usr/Makefile 2006/02/09 09:41:31 1.7
|
||||||
|
+++ open-iscsi-0.5-454/usr/Makefile 2006/02/09 09:42:46
|
||||||
|
@@ -33,7 +33,7 @@
|
||||||
|
OPTFLAGS ?= -O2 -fno-inline -g
|
||||||
|
WARNFLAGS ?= -Wall -Wstrict-prototypes
|
||||||
|
CFLAGS += $(OPTFLAGS) $(WARNFLAGS) -I../include -D$(OSNAME) $(IPC_CFLAGS)
|
||||||
|
-PROGRAMS = iscsid iscsiadm iscsistart
|
||||||
|
+PROGRAMS = iscsid iscsiadm iscsistart iscsi-iname
|
||||||
|
|
||||||
|
# sources shared between iscsid and iscsiadm
|
||||||
|
COMMON_SRCS = util.o io.o auth.o login.o log.o md5.o sha1.o idbm.o
|
||||||
|
@@ -47,5 +47,8 @@
|
||||||
|
iscsistart: $(IPC_OBJ) $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) iscsistart.o
|
||||||
|
$(CC) $^ $(DBM_LIB) -o $@
|
||||||
|
|
||||||
|
+iscsi-iname: md5.o iscsi-iname.o
|
||||||
|
+ $(CC) $^ -o $@
|
||||||
|
+
|
||||||
|
clean:
|
||||||
|
rm -f *.o $(PROGRAMS)
|
32
open-iscsi-start-iscsi-after-xen
Normal file
32
open-iscsi-start-iscsi-after-xen
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
From nobody Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hannes Reinecke <hare@suse.de>
|
||||||
|
Date: Mon May 22 14:28:05 2006 +0200
|
||||||
|
Subject: [PATCH] initd.suse: start iscsi after xendomains
|
||||||
|
|
||||||
|
open-iscsi should be started after xendomains to have all devices
|
||||||
|
available. This is required as Xen might rearrange the network.
|
||||||
|
|
||||||
|
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
etc/initd/initd.suse | 2 +-
|
||||||
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
25917dc6bf253ff53a4d14a88d5dc5d145928824
|
||||||
|
diff --git a/etc/initd/initd.suse b/etc/initd/initd.suse
|
||||||
|
index 13e05d3..8862210 100644
|
||||||
|
--- a/etc/initd/initd.suse
|
||||||
|
+++ b/etc/initd/initd.suse
|
||||||
|
@@ -5,7 +5,7 @@ #
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: iscsi
|
||||||
|
# Required-Start: $network
|
||||||
|
-# Should-Start:
|
||||||
|
+# Should-Start: xendomains
|
||||||
|
# Required-Stop:
|
||||||
|
# Should-Stop:
|
||||||
|
# Default-Start: 3 5
|
||||||
|
--
|
||||||
|
1.3.1
|
||||||
|
|
21
open-iscsi-suse.diff
Normal file
21
open-iscsi-suse.diff
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
Index: etc/initd/initd.suse
|
||||||
|
===================================================================
|
||||||
|
--- etc/initd/initd.suse (revision 713)
|
||||||
|
+++ etc/initd/initd.suse (working copy)
|
||||||
|
@@ -23,16 +23,9 @@
|
||||||
|
# Source LSB init functions
|
||||||
|
. /etc/rc.status
|
||||||
|
|
||||||
|
-. /etc/sysconfig/open-iscsi
|
||||||
|
-
|
||||||
|
# Reset status of this service
|
||||||
|
rc_reset
|
||||||
|
|
||||||
|
-iscsi_discovery()
|
||||||
|
-{
|
||||||
|
- $ISCSIADM -m discovery --type=$ISCSI_DISCOVERY --portal=$ISCSI_PORTAL > /dev/null
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
iscsi_login_all_nodes()
|
||||||
|
{
|
||||||
|
$ISCSIADM -m node 2> /dev/null | while read line; do
|
103
open-iscsi-use-dev-urandom
Normal file
103
open-iscsi-use-dev-urandom
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
Index: usr/auth.c
|
||||||
|
===================================================================
|
||||||
|
--- usr/auth.c (revision 713)
|
||||||
|
+++ usr/auth.c (working copy)
|
||||||
|
@@ -28,6 +28,8 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
+#include <unistd.h>
|
||||||
|
+#include <fcntl.h>
|
||||||
|
|
||||||
|
#include "auth.h"
|
||||||
|
#include "initiator.h"
|
||||||
|
@@ -186,20 +188,32 @@
|
||||||
|
|
||||||
|
long r;
|
||||||
|
unsigned n;
|
||||||
|
+ int fd;
|
||||||
|
|
||||||
|
+ fd = open("/dev/urandom", O_RDONLY);
|
||||||
|
while (length > 0) {
|
||||||
|
|
||||||
|
- r = rand();
|
||||||
|
+ if (fd)
|
||||||
|
+ read(fd, &r, sizeof(long));
|
||||||
|
+ else
|
||||||
|
+ r = rand();
|
||||||
|
r = r ^ (r >> 8);
|
||||||
|
r = r ^ (r >> 4);
|
||||||
|
n = r & 0x7;
|
||||||
|
|
||||||
|
- r = rand();
|
||||||
|
+ if (fd)
|
||||||
|
+ read(fd, &r, sizeof(long));
|
||||||
|
+ else
|
||||||
|
+ r = rand();
|
||||||
|
r = r ^ (r >> 8);
|
||||||
|
r = r ^ (r >> 5);
|
||||||
|
n = (n << 3) | (r & 0x7);
|
||||||
|
|
||||||
|
- r = rand();
|
||||||
|
+ if (fd)
|
||||||
|
+ read(fd, &r, sizeof(long));
|
||||||
|
+ else
|
||||||
|
+ r = rand();
|
||||||
|
+
|
||||||
|
r = r ^ (r >> 8);
|
||||||
|
r = r ^ (r >> 5);
|
||||||
|
n = (n << 2) | (r & 0x3);
|
||||||
|
@@ -207,6 +221,8 @@
|
||||||
|
*data++ = n;
|
||||||
|
length--;
|
||||||
|
}
|
||||||
|
+ if (fd)
|
||||||
|
+ close(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Index: usr/chap.c
|
||||||
|
===================================================================
|
||||||
|
--- usr/chap.c (revision 713)
|
||||||
|
+++ usr/chap.c (working copy)
|
||||||
|
@@ -324,6 +324,7 @@
|
||||||
|
char text[CHAP_CHALLENGE_MAX * 2 + 8];
|
||||||
|
static int chap_id;
|
||||||
|
int i;
|
||||||
|
+ int fd;
|
||||||
|
|
||||||
|
value = text_key_find(conn, "CHAP_A");
|
||||||
|
if (!value)
|
||||||
|
@@ -353,7 +354,8 @@
|
||||||
|
* wise, or should we rather always use the max. allowed length of
|
||||||
|
* 1024 for the (unencoded) challenge?
|
||||||
|
*/
|
||||||
|
- conn->auth.chap.challenge_size = (rand() % (CHAP_CHALLENGE_MAX / 2)) + CHAP_CHALLENGE_MAX / 2;
|
||||||
|
+ conn->auth.chap.challenge_size = (sizeof(int) % (CHAP_CHALLENGE_MAX / 2)) +
|
||||||
|
+ CHAP_CHALLENGE_MAX / 2;
|
||||||
|
|
||||||
|
conn->auth.chap.challenge = xmalloc(conn->auth.chap.challenge_size);
|
||||||
|
if (!conn->auth.chap.challenge)
|
||||||
|
@@ -362,11 +364,21 @@
|
||||||
|
p = text;
|
||||||
|
strcpy(p, "0x");
|
||||||
|
p += 2;
|
||||||
|
+
|
||||||
|
+ fd = open("/dev/urandom", O_RDONLY);
|
||||||
|
+ if (fd) {
|
||||||
|
+ read(fd, conn->auth.chap.challenge,
|
||||||
|
+ sizeof(int) * conn->auth.chap.challenge_size);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
for (i = 0; i < conn->auth.chap.challenge_size; i++) {
|
||||||
|
- conn->auth.chap.challenge[i] = rand();
|
||||||
|
+ if (!fd) {
|
||||||
|
+ conn->auth.chap.challenge[i] = rand();
|
||||||
|
+ }
|
||||||
|
sprintf(p, "%.2hhx", conn->auth.chap.challenge[i]);
|
||||||
|
p += 2;
|
||||||
|
}
|
||||||
|
+ if (fd) close(fd);
|
||||||
|
text_key_add(conn, "CHAP_C", text);
|
||||||
|
|
||||||
|
return 0;
|
166
open-iscsi.changes
Normal file
166
open-iscsi.changes
Normal file
@ -0,0 +1,166 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 20 14:14:33 CEST 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r713
|
||||||
|
- Use /dev/urandom instead of rand() (#180837)
|
||||||
|
- Fixup init script
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 6 15:19:31 CEST 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to official version 2.0-707
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 28 13:19:29 CEST 2006 - olh@suse.de
|
||||||
|
|
||||||
|
- remove unused boot.proc from boot.open-iscsi (#181972)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 1 17:06:24 CEST 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Added new startmode 'onboot' for root on iSCSI
|
||||||
|
- Added new init script boot.open-iscsi startup
|
||||||
|
iscsid as early as possible (#176804)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 31 08:30:29 CEST 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- update to svn r595
|
||||||
|
- Include local patches
|
||||||
|
- Fix lockup on target restart for real (#176151)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 22 14:17:33 CEST 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- update to svn r581
|
||||||
|
- Fix lockup when target is restarted (#176151)
|
||||||
|
- Start open-iscsi after Xen (#177381)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 19 10:38:38 CEST 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- update to svn r574
|
||||||
|
- Fix machine hang during error recovery (#174166)
|
||||||
|
- Display chap secrets for yast (#149055)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 2 15:27:21 CEST 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- update to svn r564
|
||||||
|
(contains all local changes)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 25 17:41:17 MDT 2006 - wrwhitehead@novell.com
|
||||||
|
|
||||||
|
- Fix communication hang (#157463).
|
||||||
|
- The iscsi-tcp_data_ready callback needs to empty out the
|
||||||
|
tcp receive queue rather than just rely on the callback to
|
||||||
|
occur for every message in the receive queue.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 21 09:50:46 CEST 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- update to svn r545
|
||||||
|
Fixes a crash with Wasabi targets (#157463).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 22 15:09:01 CET 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Add rcopen-iscsi link (#158230)
|
||||||
|
- Check for active records before deletion (#149935)
|
||||||
|
- Do not display error messages on startup if no
|
||||||
|
records are found.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 10 14:16:23 CET 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r520 (contains all local changes)
|
||||||
|
- Add documentation for discovery types (#149936)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 28 09:55:57 CET 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Fixed type of portal_group_tag (#153638)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 21 09:31:55 CET 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Fixed open-iscsi startup script (#148982)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 20 15:25:22 CET 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r495
|
||||||
|
- Implement iSCSI boot support (FATE #140350)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 9 10:57:53 CET 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r488 to match kernel revision
|
||||||
|
(#149412).
|
||||||
|
- Remove obsolete patches.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 25 21:38:58 CET 2006 - mls@suse.de
|
||||||
|
|
||||||
|
- converted neededforbuild to BuildRequires
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 23 12:25:05 CET 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r473
|
||||||
|
- Enhance start script
|
||||||
|
- Fix appearent login failures.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 20 15:36:38 CET 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r471
|
||||||
|
- Fix start script.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 16 15:27:43 CET 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Add Provides/Obsoletes tag.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 13 17:14:16 CET 2006 - hare@suse.de
|
||||||
|
|
||||||
|
- Rebasing package to open-iscsi-0.5-454
|
||||||
|
- Update to svn r457
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 19 09:18:38 CET 2005 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r446.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 3 13:39:51 CET 2005 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r436.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 8 09:23:32 CEST 2005 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r408.
|
||||||
|
(Added NOOP IN handling)
|
||||||
|
- Removed obsolete patches
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 22 14:29:49 CEST 2005 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r401.
|
||||||
|
- Fixed package to install properly.
|
||||||
|
- Fixed init script
|
||||||
|
- Added iscsi-iname to generate iSCSI Initiatorname.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 8 11:40:21 CEST 2005 - hare@suse.de
|
||||||
|
|
||||||
|
- Update to svn r389.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 7 09:10:35 CEST 2005 - hare@suse.de
|
||||||
|
|
||||||
|
- Initial version 0.3rc6-369
|
||||||
|
|
209
open-iscsi.spec
Normal file
209
open-iscsi.spec
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
#
|
||||||
|
# spec file for package open-iscsi (Version 2.0.713)
|
||||||
|
#
|
||||||
|
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
|
# This file and all modifications and additions to the pristine
|
||||||
|
# package are under the same license as the package itself.
|
||||||
|
#
|
||||||
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
# norootforbuild
|
||||||
|
|
||||||
|
Name: open-iscsi
|
||||||
|
URL: http://www.open-iscsi.org
|
||||||
|
License: GNU General Public License (GPL) - all versions
|
||||||
|
Group: Productivity/Networking/Other
|
||||||
|
Prereq: %fillup_prereq %insserv_prereq
|
||||||
|
Autoreqprov: on
|
||||||
|
Version: 2.0.713
|
||||||
|
Release: 1
|
||||||
|
Provides: linux-iscsi
|
||||||
|
Obsoletes: linux-iscsi
|
||||||
|
%define iscsi_release 707
|
||||||
|
Summary: Linux* Open-iSCSI Software Initiator
|
||||||
|
Source: %{name}-2.0-707.tar.gz
|
||||||
|
Source3: boot.open-iscsi
|
||||||
|
Source12: iscsi-iname.c
|
||||||
|
Patch1: %{name}-713.diff
|
||||||
|
Patch2: %{name}-suse.diff
|
||||||
|
Patch3: %{name}-use-dev-urandom
|
||||||
|
Patch12: %{name}-start-iscsi-after-xen
|
||||||
|
Patch21: %{name}-check-active-sessions-before-delete
|
||||||
|
Patch22: %{name}-iscsi-iname-Makefile.patch
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
|
%description
|
||||||
|
Open-iSCSI is a high-performance, transport independent, multi-platform
|
||||||
|
implementation of RFC3720 iSCSI.
|
||||||
|
|
||||||
|
Open-iSCSI is partitioned into user and kernel parts.
|
||||||
|
|
||||||
|
The kernel portion of Open-iSCSI is a from-scratch code licensed under
|
||||||
|
GPL. The kernel part implements iSCSI data path (that is, iSCSI Read
|
||||||
|
and iSCSI Write), and consists of two loadable modules: iscsi_if.ko and
|
||||||
|
iscsi_tcp.ko.
|
||||||
|
|
||||||
|
User space contains the entire control plane: configuration manager,
|
||||||
|
iSCSI Discovery, Login and Logout processing, connection-level error
|
||||||
|
processing, Nop-In and Nop-Out handling, and (in the future:) Text
|
||||||
|
processing, iSNS, SLP, Radius, etc.
|
||||||
|
|
||||||
|
The user space Open-iSCSI consists of a daemon process called iscsid,
|
||||||
|
and a management utility iscsiadm.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
--------
|
||||||
|
open-iscsi@googlegroups.com
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -n %{name}-2.0-707
|
||||||
|
%patch1 -p0
|
||||||
|
%patch2 -p0
|
||||||
|
%patch3 -p0
|
||||||
|
%patch12 -p1
|
||||||
|
%patch22 -p1
|
||||||
|
cp %{S:12} usr/
|
||||||
|
|
||||||
|
%build
|
||||||
|
%{__make} OPTFLAGS="${RPM_OPT_FLAGS}" -C usr
|
||||||
|
|
||||||
|
%install
|
||||||
|
[ "${RPM_BUILD_ROOT}" != "/" -a -d ${RPM_BUILD_ROOT} ] && rm -rf ${RPM_BUILD_ROOT}
|
||||||
|
make DESTDIR=${RPM_BUILD_ROOT} install_programs
|
||||||
|
make DESTDIR=${RPM_BUILD_ROOT} install_etc
|
||||||
|
make DESTDIR=${RPM_BUILD_ROOT} install_initd_suse
|
||||||
|
make DESTDIR=${RPM_BUILD_ROOT} install_doc
|
||||||
|
install -D -m 755 usr/iscsi-iname ${RPM_BUILD_ROOT}/sbin/iscsi-iname
|
||||||
|
install -D -m 755 %{S:3} ${RPM_BUILD_ROOT}/etc/init.d/boot.open-iscsi
|
||||||
|
(cd ${RPM_BUILD_ROOT}/sbin; ln -sf /etc/init.d/open-iscsi rcopen-iscsi)
|
||||||
|
|
||||||
|
%clean
|
||||||
|
[ "${RPM_BUILD_ROOT}" != "/" -a -d ${RPM_BUILD_ROOT} ] && rm -rf ${RPM_BUILD_ROOT}
|
||||||
|
|
||||||
|
%post
|
||||||
|
%{fillup_and_insserv -Y boot.open-iscsi}
|
||||||
|
if [ -f /etc/initiatorname.iscsi ] ; then
|
||||||
|
mv /etc/initiatorname.iscsi /etc/iscsi
|
||||||
|
fi
|
||||||
|
if [ ! -f /etc/iscsi/initiatorname.iscsi ]; then
|
||||||
|
cat << EOF >> /etc/iscsi/initiatorname.iscsi
|
||||||
|
## DO NOT EDIT OR REMOVE THIS FILE!
|
||||||
|
## If you remove this file, the iSCSI daemon will not start.
|
||||||
|
## If you change the InitiatorName, existing access control lists
|
||||||
|
## may reject this initiator. The InitiatorName must be unique
|
||||||
|
## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames.
|
||||||
|
EOF
|
||||||
|
ISSUEDATE="1996-04"
|
||||||
|
INAME=$(/sbin/iscsi-iname -p iqn.$ISSUEDATE.de.suse:01)
|
||||||
|
printf "InitiatorName=$INAME\n" >>/etc/iscsi/initiatorname.iscsi
|
||||||
|
chmod 0600 /etc/iscsi/initiatorname.iscsi
|
||||||
|
fi
|
||||||
|
if [ -f /var/lib/iscsi/discovery ]; then
|
||||||
|
mv /var/lib/iscsi/discovery /var/lib/open-iscsi
|
||||||
|
fi
|
||||||
|
if [ -f /var/lib/iscsi/node ] ; then
|
||||||
|
mv /var/lib/iscsi/node /var/lib/open-iscsi
|
||||||
|
fi
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%{insserv_cleanup}
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%attr(0600,root,root) %config(noreplace) /etc/iscsi/iscsid.conf
|
||||||
|
%config /etc/init.d/open-iscsi
|
||||||
|
%config /etc/init.d/boot.open-iscsi
|
||||||
|
%dir /etc/iscsi
|
||||||
|
/sbin/*
|
||||||
|
%doc COPYING README
|
||||||
|
%doc %{_mandir}/man8/*
|
||||||
|
|
||||||
|
%changelog -n open-iscsi
|
||||||
|
* Fri Oct 20 2006 - hare@suse.de
|
||||||
|
- Update to svn r713
|
||||||
|
- Use /dev/urandom instead of rand() (#180837)
|
||||||
|
- Fixup init script
|
||||||
|
* Fri Oct 06 2006 - hare@suse.de
|
||||||
|
- Update to official version 2.0-707
|
||||||
|
* Fri Jul 28 2006 - olh@suse.de
|
||||||
|
- remove unused boot.proc from boot.open-iscsi (#181972)
|
||||||
|
* Thu Jun 01 2006 - hare@suse.de
|
||||||
|
- Added new startmode 'onboot' for root on iSCSI
|
||||||
|
- Added new init script boot.open-iscsi startup
|
||||||
|
iscsid as early as possible (#176804)
|
||||||
|
* Wed May 31 2006 - hare@suse.de
|
||||||
|
- update to svn r595
|
||||||
|
- Include local patches
|
||||||
|
- Fix lockup on target restart for real (#176151)
|
||||||
|
* Mon May 22 2006 - hare@suse.de
|
||||||
|
- update to svn r581
|
||||||
|
- Fix lockup when target is restarted (#176151)
|
||||||
|
- Start open-iscsi after Xen (#177381)
|
||||||
|
* Fri May 19 2006 - hare@suse.de
|
||||||
|
- update to svn r574
|
||||||
|
- Fix machine hang during error recovery (#174166)
|
||||||
|
- Display chap secrets for yast (#149055)
|
||||||
|
* Tue May 02 2006 - hare@suse.de
|
||||||
|
- update to svn r564
|
||||||
|
(contains all local changes)
|
||||||
|
* Tue Apr 25 2006 - wrwhitehead@novell.com
|
||||||
|
- Fix communication hang (#157463).
|
||||||
|
- The iscsi-tcp_data_ready callback needs to empty out the
|
||||||
|
tcp receive queue rather than just rely on the callback to
|
||||||
|
occur for every message in the receive queue.
|
||||||
|
* Fri Apr 21 2006 - hare@suse.de
|
||||||
|
- update to svn r545
|
||||||
|
Fixes a crash with Wasabi targets (#157463).
|
||||||
|
* Wed Mar 22 2006 - hare@suse.de
|
||||||
|
- Add rcopen-iscsi link (#158230)
|
||||||
|
- Check for active records before deletion (#149935)
|
||||||
|
- Do not display error messages on startup if no
|
||||||
|
records are found.
|
||||||
|
* Fri Mar 10 2006 - hare@suse.de
|
||||||
|
- Update to svn r520 (contains all local changes)
|
||||||
|
- Add documentation for discovery types (#149936)
|
||||||
|
* Tue Feb 28 2006 - hare@suse.de
|
||||||
|
- Fixed type of portal_group_tag (#153638)
|
||||||
|
* Tue Feb 21 2006 - hare@suse.de
|
||||||
|
- Fixed open-iscsi startup script (#148982)
|
||||||
|
* Mon Feb 20 2006 - hare@suse.de
|
||||||
|
- Update to svn r495
|
||||||
|
- Implement iSCSI boot support (FATE #140350)
|
||||||
|
* Thu Feb 09 2006 - hare@suse.de
|
||||||
|
- Update to svn r488 to match kernel revision
|
||||||
|
(#149412).
|
||||||
|
- Remove obsolete patches.
|
||||||
|
* Wed Jan 25 2006 - mls@suse.de
|
||||||
|
- converted neededforbuild to BuildRequires
|
||||||
|
* Mon Jan 23 2006 - hare@suse.de
|
||||||
|
- Update to svn r473
|
||||||
|
- Enhance start script
|
||||||
|
- Fix appearent login failures.
|
||||||
|
* Fri Jan 20 2006 - hare@suse.de
|
||||||
|
- Update to svn r471
|
||||||
|
- Fix start script.
|
||||||
|
* Mon Jan 16 2006 - hare@suse.de
|
||||||
|
- Add Provides/Obsoletes tag.
|
||||||
|
* Fri Jan 13 2006 - hare@suse.de
|
||||||
|
- Rebasing package to open-iscsi-0.5-454
|
||||||
|
- Update to svn r457
|
||||||
|
* Mon Dec 19 2005 - hare@suse.de
|
||||||
|
- Update to svn r446.
|
||||||
|
* Thu Nov 03 2005 - hare@suse.de
|
||||||
|
- Update to svn r436.
|
||||||
|
* Thu Sep 08 2005 - hare@suse.de
|
||||||
|
- Update to svn r408.
|
||||||
|
(Added NOOP IN handling)
|
||||||
|
- Removed obsolete patches
|
||||||
|
* Mon Aug 22 2005 - hare@suse.de
|
||||||
|
- Update to svn r401.
|
||||||
|
- Fixed package to install properly.
|
||||||
|
- Fixed init script
|
||||||
|
- Added iscsi-iname to generate iSCSI Initiatorname.
|
||||||
|
* Mon Aug 08 2005 - hare@suse.de
|
||||||
|
- Update to svn r389.
|
||||||
|
* Thu Jul 07 2005 - hare@suse.de
|
||||||
|
- Initial version 0.3rc6-369
|
Loading…
Reference in New Issue
Block a user