From 45878c9461298c9da68a626d990dc4ef99e01baa 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(-)

--- a/usr/idbm.c
+++ b/usr/idbm.c
@@ -2200,6 +2200,10 @@ static int idbm_rec_write(node_rec_t *re
 			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;
@@ -2208,23 +2212,11 @@ static int idbm_rec_write(node_rec_t *re
 		 * 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.
 		 */
 		if (unlink(portal)) {
