60da09
From e6ab14371300e45c4f03efa64917f7601675f01d Mon Sep 17 00:00:00 2001
587c20
From: Chris Leech <cleech@redhat.com>
587c20
Date: Mon, 19 Nov 2012 16:38:45 -0800
60da09
Subject: [PATCH 1/1] use var for config
587c20
587c20
---
587c20
 README         | 33 ++++++++++++++++-----------------
587c20
 doc/iscsiadm.8 |  8 ++++----
587c20
 doc/iscsid.8   |  2 +-
587c20
 usr/idbm.c     |  6 +++---
587c20
 usr/idbm.h     | 13 +++++++------
587c20
 usr/iface.h    |  3 ++-
587c20
 6 files changed, 33 insertions(+), 32 deletions(-)
587c20
587c20
diff --git a/README b/README
60da09
index b62a14e..1875e3d 100644
587c20
--- a/README
587c20
+++ b/README
587c20
@@ -172,8 +172,7 @@ Usage: iscsid [OPTION]
587c20
 
587c20
 Open-iSCSI persistent configuration is stored in a number of
587c20
 directories under a configuration root directory, using a flat-file
587c20
-format. This configuration root directory is /etc/iscsi by default,
587c20
-but may also commonly be in /var/lib/iscsi.
587c20
+format. This configuration root directory is /var/lib/iscsi by default.
587c20
 
587c20
 Configuration is contained in directories for:
587c20
 
60da09
@@ -573,7 +572,7 @@ a scsi_host per HBA port).
587c20
 To manage both types of initiator stacks, iscsiadm uses the interface (iface)
587c20
 structure. For each HBA port or for software iscsi for each network
587c20
 device (ethX) or NIC, that you wish to bind sessions to you must create
587c20
-a iface config /etc/iscsi/ifaces.
587c20
+a iface config /var/lib/iscsi/ifaces.
587c20
 
587c20
 Prep
587c20
 ----
60da09
@@ -606,7 +605,7 @@ Running
587c20
 The command
587c20
 	iscsiadm -m iface
587c20
 
587c20
-will report iface configurations that are setup in /etc/iscsi/ifaces:
587c20
+will report iface configurations that are setup in /var/lib/iscsi/ifaces:
587c20
 
587c20
 	iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax
587c20
 	iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax
60da09
@@ -616,10 +615,10 @@ The format is:
587c20
 
587c20
 For software iscsi, you can create the iface configs by hand, but it is
587c20
 recommended that you use iscsiadm's iface mode. There is an iface.example in
587c20
-/etc/iscsi/ifaces which can be used as a template for the daring.
587c20
+/var/lib/iscsi/ifaces which can be used as a template for the daring.
587c20
 
587c20
 For each network object you wish to bind a session to, you must create
587c20
-a separate iface config in /etc/iscsi/ifaces and each iface config file
587c20
+a separate iface config in /var/lib/iscsi/ifaces and each iface config file
587c20
 must have a unique name which is less than or equal to 64 characters.
587c20
 
587c20
 Example
60da09
@@ -627,12 +626,12 @@ Example
587c20
 
587c20
 If you have NIC1 with MAC address 00:0F:1F:92:6B:BF and NIC2 with
587c20
 MAC address 00:C0:DD:08:63:E7, and you wanted to do software iscsi over
587c20
-TCP/IP, then in /etc/iscsi/ifaces/iface0 you would enter:
587c20
+TCP/IP, then in /var/lib/iscsi/ifaces/iface0 you would enter:
587c20
 
587c20
 	iface.transport_name = tcp
587c20
 	iface.hwaddress = 00:0F:1F:92:6B:BF
587c20
 
587c20
-and in /etc/iscsi/ifaces/iface1 you would enter:
587c20
+and in /var/lib/iscsi/ifaces/iface1 you would enter:
587c20
 
587c20
 	iface.transport_name = tcp
587c20
 	iface.hwaddress = 00:C0:DD:08:63:E7
60da09
@@ -674,7 +673,7 @@ port. The iface name will be of the form:
587c20
 Running the following command:
587c20
 	iscsiadm -m iface
587c20
 
587c20
-will report iface configurations that are setup in /etc/iscsi/ifaces:
587c20
+will report iface configurations that are setup in /var/lib/iscsi/ifaces:
587c20
 
587c20
 	default tcp,<empty>,<empty>,<empty>,<empty>
587c20
 	iser iser,<empty>,<empty>,<empty>,<empty>
60da09
@@ -754,7 +753,7 @@ need a separate network connection to the target for discovery purposes.
587c20
 *This will be fixed in the next version of open-iscsi*
587c20
 
587c20
 For compatibility reasons, when you run iscsiadm to do discovery, it
587c20
-will check for interfaces in /etc/iscsi/iscsi/ifaces that are using
587c20
+will check for interfaces in /var/lib/iscsi/iscsi/ifaces that are using
587c20
 tcp for the iface.transport, and it will bind the portals that are discovered
587c20
 so that they will be logged in through those ifaces. This behavior can also
587c20
 be overridden by passing in the interfaces you want to use. For the case
60da09
@@ -769,7 +768,7 @@ If you had defined interfaces but wanted the old behavior, where we do not
587c20
 bind a session to an iface, then you can use the special iface "default":
587c20
 	iscsiadm -m discoverydb -t st -p ip:port -I default --discover -P 1
587c20
 
587c20
-And if you did not define any interfaces in /etc/iscsi/ifaces and do
587c20
+And if you did not define any interfaces in /var/lib/iscsi/ifaces and do
587c20
 not pass anything into iscsiadm, running iscsiadm will do the default
587c20
 behavior, allowing the network subsystem to decide which device to use.
587c20
 
60da09
@@ -805,7 +804,7 @@ Discovery mode
587c20
 		ID [192.168.1.1:3260]:
587c20
 	iscsiadm -m discoverydb -t st -p 192.168.1.1:3260 --discover
587c20
 
587c20
-	This will search /etc/iscsi/send_targets for a record with the
587c20
+	This will search /var/lib/iscsi/send_targets for a record with the
587c20
 	ID [portal = 192.168.1.1:3260 and type = sendtargets. If found it
587c20
 	will perform discovery using the settings stored in the record.
587c20
 	If a record does not exist, it will be created using the iscsid.conf
60da09
@@ -814,7 +813,7 @@ Discovery mode
587c20
 	The argument to -p may also be a hostname instead of an address:
587c20
 		iscsiadm -m discoverydb -t st -p somehost --discover
587c20
 
587c20
-	For the ifaces, iscsiadm will first search /etc/iscsi/ifaces for
587c20
+	For the ifaces, iscsiadm will first search /var/lib/iscsi/ifaces for
587c20
 	interfaces using software iscsi. If any are found then nodes found
587c20
 	during discovery will be setup so that they can logged in through
587c20
 	those interfaces. To specify a specific iface, pass the
60da09
@@ -865,7 +864,7 @@ Discovery mode
587c20
 
587c20
 - SendTargets iSCSI Discovery with a specific interface.
587c20
 		If you wish to only use a subset of the interfaces in
587c20
-		/etc/iscsi/ifaces, then you can pass them in during discovery:
587c20
+		/var/lib/iscsi/ifaces, then you can pass them in during discovery:
587c20
 	iscsiadm -m discoverydb -t sendtargets -p 192.168.1.1:3260 \
587c20
 		--interface=iface0 --interface=iface1 --discover
587c20
 
60da09
@@ -1232,8 +1231,8 @@ where targetname is the name of the target and ip_address:port is the address
587c20
 and port of the portal. tpgt is the Target Portal Group Tag of
587c20
 the portal, and is not used in iscsiadm commands except for static
587c20
 record creation. ifacename is the name of the iscsi interface
587c20
-defined in /etc/iscsi/ifaces. If no interface was defined in
587c20
-/etc/iscsi/ifaces or passed in, the default behavior is used.
587c20
+defined in /var/lib/iscsi/ifaces. If no interface was defined in
587c20
+/var/lib/iscsi/ifaces or passed in, the default behavior is used.
587c20
 Default here is iscsi_tcp/tcp to be used over whichever NIC the
587c20
 network layer decides is best.
587c20
 
60da09
@@ -1353,7 +1352,7 @@ If set, iscsid will perform discovery to the address every
587c20
 discovery.isns.discoveryd_poll_inval or
587c20
 discovery.sendtargets.discoveryd_poll_inval seconds,
587c20
 and it will log into any portals found from the discovery source using
587c20
-the ifaces in /etc/iscsi/ifaces.
587c20
+the ifaces in /var/lib/iscsi/ifaces.
587c20
 
587c20
 Note that for iSNS the poll_interval does not have to be set. If not set,
587c20
 iscsid will only perform rediscovery when it gets a SCN from the server.
587c20
diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8
60da09
index 3729a72..9f84a81 100644
587c20
--- a/doc/iscsiadm.8
587c20
+++ b/doc/iscsiadm.8
60da09
@@ -228,7 +228,7 @@ This option is only valid for ping submode.
587c20
 .TP
587c20
 \fB\-I\fR, \fB\-\-interface=\fI[iface]\fR
587c20
 The interface argument specifies the iSCSI interface to use for the operation.
587c20
-iSCSI interfaces (iface) are defined in /etc/iscsi/ifaces. For hardware
587c20
+iSCSI interfaces (iface) are defined in /var/lib/iscsi/ifaces. For hardware
587c20
 iSCSI (qla4xxx) the iface config must have the hardware address
587c20
 (iface.hwaddress = port's MAC address)
587c20
 and the driver/transport_name (iface.transport_name). The iface's name is
60da09
@@ -318,7 +318,7 @@ If no other options are specified: for \fIdiscovery\fR, \fIdiscoverydb\fR and
587c20
 \fInode\fR, all of their respective records are displayed; for \fIsession\fR,
587c20
 all active sessions and connections are displayed; for \fIfw\fR, all boot
587c20
 firmware values are displayed; for \fIhost\fR, all iSCSI hosts are displayed;
587c20
-and for \fIiface\fR, all ifaces setup in /etc/iscsi/ifaces are displayed.
587c20
+and for \fIiface\fR, all ifaces setup in /var/lib/iscsi/ifaces are displayed.
587c20
 .TP
587c20
 \fB\-n\fR, \fB\-\-name=\fIname\fR
587c20
 In node mode, specify a field \fIname\fR in a record. In flashnode submode
60da09
@@ -681,10 +681,10 @@ The configuration file read by \fBiscsid\fR and \fBiscsiadm\fR on startup.
587c20
 The file containing the iSCSI InitiatorName and InitiatorAlias read by
587c20
 \fBiscsid\fR and \fBiscsiadm\fR on startup.
587c20
 .TP
587c20
-/etc/iscsi/nodes/
587c20
+/var/lib/iscsi/nodes/
587c20
 This directory contains the nodes with their targets.
587c20
 .TP
587c20
-/etc/iscsi/send_targets
587c20
+/var/lib/iscsi/send_targets
587c20
 This directory contains the portals.
587c20
 .SH "SEE ALSO"
587c20
 .BR iscsid (8)
587c20
diff --git a/doc/iscsid.8 b/doc/iscsid.8
60da09
index db996b4..eaa9c3b 100644
587c20
--- a/doc/iscsid.8
587c20
+++ b/doc/iscsid.8
60da09
@@ -70,7 +70,7 @@ and
587c20
 .B iscsiadm
587c20
 on startup.
587c20
 .TP
587c20
-/etc/iscsi/nodes
587c20
+/var/lib/iscsi/nodes
587c20
 Open-iSCSI persistent configuration database
587c20
 
587c20
 .SH "SEE ALSO"
587c20
diff --git a/usr/idbm.c b/usr/idbm.c
60da09
index 7c63c04..779d052 100644
587c20
--- a/usr/idbm.c
587c20
+++ b/usr/idbm.c
60da09
@@ -3104,9 +3104,9 @@ free_info:
587c20
 int idbm_init(idbm_get_config_file_fn *fn)
587c20
 {
587c20
 	/* make sure root db dir is there */
587c20
-	if (access(ISCSI_CONFIG_ROOT, F_OK) != 0) {
60da09
-		if (mkdir(ISCSI_CONFIG_ROOT, 0770) != 0) {
587c20
-			log_error("Could not make %s %d", ISCSI_CONFIG_ROOT,
587c20
+	if (access(ISCSIVAR, F_OK) != 0) {
60da09
+		if (mkdir(ISCSIVAR, 0770) != 0) {
587c20
+			log_error("Could not make %s %d", ISCSIVAR,
587c20
 				   errno);
587c20
 			return errno;
587c20
 		}
587c20
diff --git a/usr/idbm.h b/usr/idbm.h
60da09
index 7496f1d..db3048b 100644
587c20
--- a/usr/idbm.h
587c20
+++ b/usr/idbm.h
50a52f
@@ -30,12 +30,13 @@
587c20
 #include "list.h"
587c20
 #include "flashnode.h"
587c20
 
587c20
-#define NODE_CONFIG_DIR		ISCSI_CONFIG_ROOT"nodes"
587c20
-#define SLP_CONFIG_DIR		ISCSI_CONFIG_ROOT"slp"
587c20
-#define ISNS_CONFIG_DIR		ISCSI_CONFIG_ROOT"isns"
587c20
-#define STATIC_CONFIG_DIR	ISCSI_CONFIG_ROOT"static"
587c20
-#define FW_CONFIG_DIR		ISCSI_CONFIG_ROOT"fw"
587c20
-#define ST_CONFIG_DIR		ISCSI_CONFIG_ROOT"send_targets"
587c20
+#define ISCSIVAR		"/var/lib/iscsi/"
587c20
+#define NODE_CONFIG_DIR		ISCSIVAR"nodes"
587c20
+#define SLP_CONFIG_DIR		ISCSIVAR"slp"
587c20
+#define ISNS_CONFIG_DIR		ISCSIVAR"isns"
587c20
+#define STATIC_CONFIG_DIR	ISCSIVAR"static"
587c20
+#define FW_CONFIG_DIR		ISCSIVAR"fw"
587c20
+#define ST_CONFIG_DIR		ISCSIVAR"send_targets"
587c20
 #define ST_CONFIG_NAME		"st_config"
587c20
 #define ISNS_CONFIG_NAME	"isns_config"
587c20
 
587c20
diff --git a/usr/iface.h b/usr/iface.h
587c20
index 6c06f7f..c8b9de9 100644
587c20
--- a/usr/iface.h
587c20
+++ b/usr/iface.h
587c20
@@ -21,8 +21,9 @@
587c20
 #define ISCSI_IFACE_H
587c20
 
587c20
 #include <libopeniscsiusr/libopeniscsiusr.h>
587c20
+#include "idbm.h"
587c20
 
587c20
-#define IFACE_CONFIG_DIR	ISCSI_CONFIG_ROOT"ifaces"
587c20
+#define IFACE_CONFIG_DIR	ISCSIVAR"ifaces"
587c20
 
587c20
 struct iface_rec;
587c20
 struct list_head;
587c20
-- 
60da09
2.31.1
587c20