2abe1f9
From 45031a3cf05a2b1c2b558e361299fc0e5964a4e1 Mon Sep 17 00:00:00 2001
0e55d5b
From: Chris Leech <cleech@redhat.com>
0e55d5b
Date: Mon, 19 Nov 2012 16:38:45 -0800
929689a
Subject: [PATCH] use var for config
0e55d5b
0e55d5b
---
0e55d5b
 README         | 33 ++++++++++++++++-----------------
0e55d5b
 doc/iscsiadm.8 |  8 ++++----
0e55d5b
 usr/idbm.c     |  6 +++---
c2d5d21
 usr/idbm.h     | 13 +++++++------
0e55d5b
 usr/iface.h    |  4 +++-
c2d5d21
 5 files changed, 33 insertions(+), 31 deletions(-)
0e55d5b
0e55d5b
diff --git a/README b/README
2abe1f9
index 8db3013..cfc7f2f 100644
0e55d5b
--- a/README
0e55d5b
+++ b/README
2abe1f9
@@ -170,8 +170,7 @@ Usage: iscsid [OPTION]
0e55d5b
 
0e55d5b
 Open-iSCSI persistent configuration is stored in a number of
0e55d5b
 directories under a configuration root directory, using a flat-file
0e55d5b
-format. This configuration root directory is /etc/iscsi by default,
0e55d5b
-but may also commonly be in /var/lib/iscsi.
0e55d5b
+format. This configuration root directory is /var/lib/iscsi by default.
0e55d5b
 
0e55d5b
 Configuration is contained in directories for:
0e55d5b
 
2abe1f9
@@ -489,7 +488,7 @@ a scsi_host per HBA port).
5a3872e
 To manage both types of initiator stacks, iscsiadm uses the interface (iface)
5a3872e
 structure. For each HBA port or for software iscsi for each network
5a3872e
 device (ethX) or NIC, that you wish to bind sessions to you must create
5a3872e
-a iface config /etc/iscsi/ifaces.
5a3872e
+a iface config /var/lib/iscsi/ifaces.
5a3872e
 
Mike Christie 3949e15
 Prep:
5ebdd59
 
2abe1f9
@@ -523,29 +522,29 @@ Running:
5ebdd59
 iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax
5ebdd59
 iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax
5a3872e
 
5a3872e
-Will report iface configurations that are setup in /etc/iscsi/ifaces.
5a3872e
+Will report iface configurations that are setup in /var/lib/iscsi/ifaces.
5a3872e
 The format is:
5a3872e
 
5ebdd59
 iface_name transport_name,hwaddress,ipaddress,net_ifacename,initiatorname
5a3872e
 
5a3872e
 For software iscsi, you can create the iface configs by hand, but it is
5a3872e
 reccomended that you use iscsiadm's iface mode. There is a iface.example in
5a3872e
-/etc/iscsi/ifaces which can be used as a template for the daring.
5a3872e
+/var/lib/iscsi/ifaces which can be used as a template for the daring.
5a3872e
 
5a3872e
 For each network object you wish to bind a session to you must create
5a3872e
-a seperate iface config in /etc/iscsi/ifaces and each iface config file
5a3872e
+a seperate iface config in /var/lib/iscsi/ifaces and each iface config file
5a3872e
 must have a unique name which is less than or equal to 64 characters.
5a3872e
 
5a3872e
 Example:
5a3872e
 
5a3872e
 If you have NIC1 with MAC address 00:0F:1F:92:6B:BF and NIC2 with
5a3872e
 MAC address 00:C0:DD:08:63:E7 and you wanted to do software iscsi over
5a3872e
-TCP/IP. Then in /etc/iscsi/ifaces/iface0 you would enter:
5a3872e
+TCP/IP. Then in /var/lib/iscsi/ifaces/iface0 you would enter:
5a3872e
 
5a3872e
 iface.transport_name = tcp
5a3872e
 iface.hwaddress = 00:0F:1F:92:6B:BF
5a3872e
 
5a3872e
-and in /etc/iscsi/ifaces/iface1 you would enter:
5a3872e
+and in /var/lib/iscsi/ifaces/iface1 you would enter:
5a3872e
 
5a3872e
 iface.transport_name = tcp
5a3872e
 iface.hwaddress = 00:C0:DD:08:63:E7
2abe1f9
@@ -595,7 +594,7 @@ cxgb3i.00:07:43:05:97:07 cxgb3i,00:07:43:05:97:07,<empty>,<empty>,<empty>
Mike Christie 3949e15
 qla4xxx.00:0e:1e:04:8b:2e qla4xxx,00:0e:1e:04:8b:2e,<empty>,<empty>,<empty>
5ebdd59
 
5ebdd59
 
5ebdd59
-Will report iface configurations that are setup in /etc/iscsi/ifaces.
5ebdd59
+Will report iface configurations that are setup in /var/lib/iscsi/ifaces.
5ebdd59
 The format is:
5a3872e
 
5ebdd59
 iface_name transport_name,hwaddress,ipaddress,net_ifacename,initiatorname
2abe1f9
@@ -681,7 +680,7 @@ need a seperate network connection to the target for discovery purposes.
5ebdd59
 *This will be fixed in the next version of open-iscsi*
5ebdd59
 
5ebdd59
 For compatibility reasons, when you run iscsiadm to do discovery, it
5ebdd59
-will check for interfaces in /etc/iscsi/iscsi/ifaces that are using
5ebdd59
+will check for interfaces in /var/lib/iscsi/ifaces that are using
5ebdd59
 tcp for the iface.transport and it will bind the portals that are discovered
5ebdd59
 so that they will be logged in through those ifaces. This behavior can also
5ebdd59
 be overriden by passing in the interfaces you want to use. For the case
2abe1f9
@@ -699,7 +698,7 @@ we do not bind a session to a iface, then you can use the special iface
5a3872e
 
1c8eda8
 iscsiadm -m discoverydb -t st -p ip:port -I default --discover -P 1
5a3872e
 
5a3872e
-And if you did not define any interfaces in /etc/iscsi/ifaces and do
5a3872e
+And if you did not define any interfaces in /var/lib/iscsi/ifaces and do
5a3872e
 not pass anything into iscsiadm, running iscsiadm will do the default
5a3872e
 behavior, where we allow the network subsystem to decide which
5a3872e
 device to use.
2abe1f9
@@ -741,7 +740,7 @@ To now log into targets it is the same as with sofware iscsi. See section
1c8eda8
 
1c8eda8
 	    ./iscsiadm -m discoverydb -t st -p 192.168.1.1:3260 --discover
1c8eda8
 
1c8eda8
-	This will search /etc/iscsi/send_targets for a record with the
1c8eda8
+	This will search /var/lib/iscsi/send_targets for a record with the
1c8eda8
 	ID [portal = 192.168.1.1:3260 and type = sendtargets. If found it
1c8eda8
 	will perform discovery using the settings stored in the record.
1c8eda8
 	If a record does not exist, it will be created using the iscsid.conf
2abe1f9
@@ -750,7 +749,7 @@ To now log into targets it is the same as with sofware iscsi. See section
Mike Christie 3949e15
 	The argument to -p may also be a hostname instead of an address.
Mike Christie 3949e15
 	    ./iscsiadm -m discoverydb -t st -p smoehost --discover
1c8eda8
 
1c8eda8
-	For the ifaces, iscsiadm will first search /etc/iscsi/ifaces for
1c8eda8
+	For the ifaces, iscsiadm will first search /var/lib/iscsi/ifaces for
1c8eda8
 	interfaces using software iscsi. If any are found then nodes found
1c8eda8
 	during discovery will be setup so that they can logged in through
1c8eda8
 	those interfaces. To specify a specific iface, pass the
2abe1f9
@@ -806,7 +805,7 @@ To now log into targets it is the same as with sofware iscsi. See section
5ebdd59
 	This command will perform discovery, but not manipulate the node DB.
5a3872e
 
a4c8b30
   - SendTargets iSCSI Discovery with a specific interface. If you
5a3872e
-	wish to only use a subset of the interfaces in /etc/iscsi/ifaces
5a3872e
+	wish to only use a subset of the interfaces in /var/lib/iscsi/ifaces
5a3872e
 	then you can pass them in during discovery:
5a3872e
 
1c8eda8
 	     ./iscsiadm -m discoverydb -t sendtargets -p 192.168.1.1:3260 \
2abe1f9
@@ -1207,8 +1206,8 @@ where targetname is the name of the target and ip_address:port is the address
a4c8b30
 and port of the portal. tpgt, is the portal group tag of
a4c8b30
 the portal, and is not used in iscsiadm commands except for static
a4c8b30
 record creation. And iface name is the name of the iscsi interface
a4c8b30
-defined in /etc/iscsi/ifaces. If no interface was defined in
a4c8b30
-/etc/iscsi/ifaces or passed in, the default behavior is used.
a4c8b30
+defined in /var/lib/iscsi/ifaces. If no interface was defined in
a4c8b30
+/var/lib/iscsi/ifaces or passed in, the default behavior is used.
a4c8b30
 Default here is iscsi_tcp/tcp to be used over which ever NIC the
a4c8b30
 network layer decides is best.
a4c8b30
 
2abe1f9
@@ -1323,7 +1322,7 @@ If set, iscsid will perform discovery to the address every
1c8eda8
 discovery.isns.discoveryd_poll_inval or
1c8eda8
 discovery.sendtargets.discoveryd_poll_inval seconds,
1c8eda8
 and it will log into any portals found from the discovery source using
1c8eda8
-the ifaces in /etc/iscsi/ifaces.
1c8eda8
+the ifaces in /var/lib/iscsi/ifaces.
1c8eda8
 
1c8eda8
 Note that for iSNS the poll_interval does not have to be set. If not set,
1c8eda8
 iscsid will only perform rediscovery when it gets a SCN from the server.
0e55d5b
diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8
2abe1f9
index c7d8c92..3f33f6c 100644
0e55d5b
--- a/doc/iscsiadm.8
0e55d5b
+++ b/doc/iscsiadm.8
929689a
@@ -241,7 +241,7 @@ This option is only valid for ping submode.
0e55d5b
 .TP
0e55d5b
 \fB\-I\fR, \fB\-\-interface=\fI[iface]\fR
0e55d5b
 The interface argument specifies the iSCSI interface to use for the operation.
0e55d5b
-iSCSI interfaces (iface) are defined in /etc/iscsi/ifaces. For hardware
0e55d5b
+iSCSI interfaces (iface) are defined in /var/lib/iscsi/ifaces. For hardware
0e55d5b
 iSCSI (qla4xxx) the iface config must have the hardware address
0e55d5b
 (iface.hwaddress = port's MAC address)
0e55d5b
 and the driver/transport_name (iface.transport_name). The iface's name is
929689a
@@ -318,7 +318,7 @@ If no other options are specified: for \fIdiscovery\fR, \fIdiscoverydb\fR and
b34de1d
 \fInode\fR, all of their respective records are displayed; for \fIsession\fR,
b34de1d
 all active sessions and connections are displayed; for \fIfw\fR, all boot
b34de1d
 firmware values are displayed; for \fIhost\fR, all iSCSI hosts are displayed;
b34de1d
-and for \fIiface\fR, all ifaces setup in /etc/iscsi/ifaces are displayed.
b34de1d
+and for \fIiface\fR, all ifaces setup in /var/lib/iscsi/ifaces are displayed.
0e55d5b
 
0e55d5b
 .TP
0e55d5b
 \fB\-n\fR, \fB\-\-name=\fIname\fR
929689a
@@ -703,10 +703,10 @@ The configuration file read by \fBiscsid\fR and \fBiscsiadm\fR on startup.
0e55d5b
 The file containing the iSCSI InitiatorName and InitiatorAlias read by
0e55d5b
 \fBiscsid\fR and \fBiscsiadm\fR on startup.
0e55d5b
 .TP
0e55d5b
-/etc/iscsi/nodes/
0e55d5b
+/var/lib/iscsi/nodes/
0e55d5b
 This directory contains the nodes with their targets.
0e55d5b
 .TP
0e55d5b
-/etc/iscsi/send_targets
0e55d5b
+/var/lib/iscsi/send_targets
0e55d5b
 This directory contains the portals.
0e55d5b
 
0e55d5b
 .SH "SEE ALSO"
0e55d5b
diff --git a/usr/idbm.c b/usr/idbm.c
929689a
index 589078c..a57a445 100644
0e55d5b
--- a/usr/idbm.c
0e55d5b
+++ b/usr/idbm.c
929689a
@@ -2917,9 +2917,9 @@ free_info:
a4c8b30
 int idbm_init(idbm_get_config_file_fn *fn)
a4c8b30
 {
d3d8564
 	/* make sure root db dir is there */
d3d8564
-	if (access(ISCSI_CONFIG_ROOT, F_OK) != 0) {
d3d8564
-		if (mkdir(ISCSI_CONFIG_ROOT, 0660) != 0) {
929689a
-			log_error("Could not make %s %d", ISCSI_CONFIG_ROOT,
d3d8564
+	if (access(ISCSIVAR, F_OK) != 0) {
d3d8564
+		if (mkdir(ISCSIVAR, 0660) != 0) {
929689a
+			log_error("Could not make %s %d", ISCSIVAR,
d3d8564
 				   errno);
a4c8b30
 			return errno;
mchristi a7062b5
 		}
0e55d5b
diff --git a/usr/idbm.h b/usr/idbm.h
b34de1d
index b9020fe..b89ddff 100644
0e55d5b
--- a/usr/idbm.h
0e55d5b
+++ b/usr/idbm.h
c2d5d21
@@ -29,12 +29,13 @@
0e55d5b
 #include "list.h"
c2d5d21
 #include "flashnode.h"
mchristi a7062b5
 
d3d8564
-#define NODE_CONFIG_DIR		ISCSI_CONFIG_ROOT"nodes"
d3d8564
-#define SLP_CONFIG_DIR		ISCSI_CONFIG_ROOT"slp"
d3d8564
-#define ISNS_CONFIG_DIR		ISCSI_CONFIG_ROOT"isns"
d3d8564
-#define STATIC_CONFIG_DIR	ISCSI_CONFIG_ROOT"static"
5ebdd59
-#define FW_CONFIG_DIR		ISCSI_CONFIG_ROOT"fw"
d3d8564
-#define ST_CONFIG_DIR		ISCSI_CONFIG_ROOT"send_targets"
241a29f
+#define ISCSIVAR		"/var/lib/iscsi/"
d3d8564
+#define NODE_CONFIG_DIR		ISCSIVAR"nodes"
d3d8564
+#define SLP_CONFIG_DIR		ISCSIVAR"slp"
d3d8564
+#define ISNS_CONFIG_DIR		ISCSIVAR"isns"
d3d8564
+#define STATIC_CONFIG_DIR	ISCSIVAR"static"
5ebdd59
+#define FW_CONFIG_DIR		ISCSIVAR"fw"
c2d5d21
+#define ST_CONFIG_DIR		ISCSIVAR"send_targets"
d3d8564
 #define ST_CONFIG_NAME		"st_config"
1c8eda8
 #define ISNS_CONFIG_NAME	"isns_config"
mchristi a7062b5
 
0e55d5b
diff --git a/usr/iface.h b/usr/iface.h
0e55d5b
index 01f7074..f396918 100644
0e55d5b
--- a/usr/iface.h
0e55d5b
+++ b/usr/iface.h
5ebdd59
@@ -20,7 +20,9 @@
a4c8b30
 #ifndef ISCSI_IFACE_H
a4c8b30
 #define ISCSI_IFACE_H
a4c8b30
 
a4c8b30
-#define IFACE_CONFIG_DIR	ISCSI_CONFIG_ROOT"ifaces"
5ebdd59
+#include "idbm.h"
5ebdd59
+
5ebdd59
+#define IFACE_CONFIG_DIR	ISCSIVAR"ifaces"
a4c8b30
 
a4c8b30
 struct iface_rec;
a4c8b30
 struct list_head;
0e55d5b
-- 
929689a
2.1.0
0e55d5b