Blob Blame History Raw
From 97071360caa6868c21a161047ed471790c405efb Mon Sep 17 00:00:00 2001
From: Chris Leech <cleech@redhat.com>
Date: Tue, 13 Aug 2013 10:59:44 -0700
Subject: [PATCH] idmb_rec_write, check for tpgt first

Factor out the check for a tpgt to a single place, before going crazy on
the rec files.  Makes flow of this function easier to follow, and preps
for splitting it up.
---
 usr/idbm.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/usr/idbm.c b/usr/idbm.c
index be4d4e3..a7da540 100644
--- a/usr/idbm.c
+++ b/usr/idbm.c
@@ -2078,6 +2078,10 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
 			goto free_portal;
 	}
 
+	if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
+		/* drop down to old style portal as config */
+		goto open_conf;
+
 	rc = stat(portal, &statb);
 	if (rc) {
 		rc = 0;
@@ -2086,22 +2090,10 @@ static int idbm_rec_write(node_rec_t *rec, bool disable_lock)
 		 * set the tgpt. In new versions you must pass all the info in
 		 * from the start
 		 */
-		if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
-			/* drop down to old style portal as config */
-			goto open_conf;
-		else
-			goto mkdir_portal;
+		goto mkdir_portal;
 	}
 
 	if (!S_ISDIR(statb.st_mode)) {
-		/*
-		 * older iscsiadm versions had you create the config then set
-		 * set the tgpt. In new versions you must pass all the info in
-		 * from the start
-		 */
-		if (rec->tpgt == PORTAL_GROUP_TAG_UNKNOWN)
-			/* drop down to old style portal as config */
-			goto open_conf;
 		/*
 		 * Old style portal as a file, but with tpgt. Let's update it.
 		 */
-- 
2.21.0