Tony Asleson
2014-04-15 00:00:38 UTC
Change to use pool object instead of pool id as
source of creating pool from pool (sub pool).
Signed-off-by: Tony Asleson <***@redhat.com>
---
include/libstoragemgmt/libstoragemgmt.h | 8 ++++----
include/libstoragemgmt/libstoragemgmt_plug_interface.h | 8 ++++----
lsm/lsm/_client.py | 4 ++--
lsm/lsm/_cmdline.py | 9 ++-------
lsm/lsm/simulator.py | 4 ++--
plugin/simc_lsmplugin.c | 8 ++++----
src/lsm_mgmt.cpp | 16 ++++++++++------
src/lsm_plugin_ipc.cpp | 13 +++++++------
test/tester.c | 9 +++++++--
9 files changed, 42 insertions(+), 37 deletions(-)
diff --git a/include/libstoragemgmt/libstoragemgmt.h b/include/libstoragemgmt/libstoragemgmt.h
index 34fb781..5b43575 100644
--- a/include/libstoragemgmt/libstoragemgmt.h
+++ b/include/libstoragemgmt/libstoragemgmt.h
@@ -316,9 +316,9 @@ extern "C" {
* @param [in] system System of where pool will reside
* @param [in] pool_name The name of the new pool, will not fail
* if request name cannot be fulfilled
- * @param [in] member_id The ID of pool to create new pool from
+ * @param [in] pool The pool to create new pool from
* @param [in] size_bytes Desired size of new pool
- * @param [out] pool Newly created pool
+ * @param [out] created_pool Newly created pool
* @param [out] job Job ID of aysnc.
* @param [in] flags Reserved for future use, must be zero
* @return LSM_ERR_OK on success, LSM_ERR_JOB_STARTED if async.,
@@ -326,8 +326,8 @@ extern "C" {
*/
int LSM_DLL_EXPORT lsm_pool_create_from_pool(lsm_connect *conn,
lsm_system *system, const char *pool_name,
- const char *member_id, uint64_t size_bytes,
- lsm_pool** pool, char **job, lsm_flag flags);
+ lsm_pool *pool, uint64_t size_bytes,
+ lsm_pool** created_pool, char **job, lsm_flag flags);
/**
* Deletes a pool
diff --git a/include/libstoragemgmt/libstoragemgmt_plug_interface.h b/include/libstoragemgmt/libstoragemgmt_plug_interface.h
index 6b685bc..9ad7983 100644
--- a/include/libstoragemgmt/libstoragemgmt_plug_interface.h
+++ b/include/libstoragemgmt/libstoragemgmt_plug_interface.h
@@ -271,16 +271,16 @@ typedef int (*lsm_plug_pool_create_from_volumes)( lsm_plugin_ptr c,
* @param[in] c Valid lsm plug-in pointer
* @param[in] system System id
* @param[in] pool_name Human name of pool
- * @param[in] member_id ID of pool to create pool from
+ * @param[in] pool Pool to create pool from
* @param[in] size_bytes Size of pool
- * @param[out] pool Newly create pool if done sync.
+ * @param[out] created_pool Newly create pool if done sync.
* @param[out] job Job id if execution is async.
* @return LSM_ERR_OK, else error reason
*/
typedef int (*lsm_plug_pool_create_from_pool)( lsm_plugin_ptr c,
lsm_system *system,
- const char *pool_name, const char *member_id,
- uint64_t size_bytes, lsm_pool **pool, char **job,
+ const char *pool_name, lsm_pool *pool,
+ uint64_t size_bytes, lsm_pool **created_pool, char **job,
lsm_flag flags );
diff --git a/lsm/lsm/_client.py b/lsm/lsm/_client.py
index 9d86994..a769412 100644
--- a/lsm/lsm/_client.py
+++ b/lsm/lsm/_client.py
@@ -388,13 +388,13 @@ class Client(INetworkAttachedStorage):
# @param system_id The id of system where new pool should reside.
# @param pool_name The name for new pool. Will not fail if created
# pool_name is not the same as requested.
- # @param member_id The id of pool to allocate space from for new pool.
+ # @param pool The pool to allocate space from for new pool.
# @param size_bytes The size of the new pool.
# @param flags Reserved for future use.
# @returns A tuple (job_id, new_pool), when one is None the other is
# valid.
@_return_requires(unicode, Pool)
- def pool_create_from_pool(self, system_id, pool_name, member_id,
+ def pool_create_from_pool(self, system_id, pool_name, pool,
size_bytes, flags=0):
"""
Creates pool from volumes.
diff --git a/lsm/lsm/_cmdline.py b/lsm/lsm/_cmdline.py
index a679583..7408292 100644
--- a/lsm/lsm/_cmdline.py
+++ b/lsm/lsm/_cmdline.py
@@ -1746,12 +1746,7 @@ class CmdLine:
"from pool only allow one member pool")
member_id = member_ids[0]
-
- pools = self.c.pools()
- pool_ids = [p.id for p in pools]
- if member_id not in pool_ids:
- raise ArgError("Invalid pools ID specified in " +
- "--member-id %s " % member_id)
+ pool = _get_item(self.c.pools(), member_id, "pool id")
size_bytes = self._size(self.args.size)
@@ -1759,7 +1754,7 @@ class CmdLine:
pool = self._wait_for_it(
"pool-create-from-pool",
*self.c.pool_create_from_pool(
- system, pool_name, member_id, size_bytes, 0))
+ system, pool_name, pool, size_bytes, 0))
self.display_data([pool])
def _read_configfile(self):
diff --git a/lsm/lsm/simulator.py b/lsm/lsm/simulator.py
index e5a3630..05bb21e 100644
--- a/lsm/lsm/simulator.py
+++ b/lsm/lsm/simulator.py
@@ -105,10 +105,10 @@ class SimPlugin(INfs, IStorageAreaNetwork):
return self.sim_array.pool_create_from_volumes(
system.id, pool_name, member_ids, raid_type, flags)
- def pool_create_from_pool(self, system, pool_name, member_id,
+ def pool_create_from_pool(self, system, pool_name, pool,
size_bytes, flags=0):
return self.sim_array.pool_create_from_pool(
- system.id, pool_name, member_id, size_bytes, flags)
+ system.id, pool_name, pool.id, size_bytes, flags)
def pool_delete(self, pool, flags=0):
return self.sim_array.pool_delete(pool.id, flags)
diff --git a/plugin/simc_lsmplugin.c b/plugin/simc_lsmplugin.c
index 3269506..fe8506f 100644
--- a/plugin/simc_lsmplugin.c
+++ b/plugin/simc_lsmplugin.c
@@ -1095,17 +1095,17 @@ bail:
}
static int pool_create_from_pool(lsm_plugin_ptr c, lsm_system *system,
- const char *pool_name, const char *member_id,
- uint64_t size_bytes, lsm_pool **pool, char **job,
+ const char *pool_name, lsm_pool *pool,
+ uint64_t size_bytes, lsm_pool **created_pool, char **job,
lsm_flag flags )
{
/* Check that the disks are valid, then call common routine */
int rc = LSM_ERR_OK;
struct plugin_data *pd = (struct plugin_data*)lsm_private_data_get(c);
- lsm_pool *p = find_pool(pd, member_id);
+ lsm_pool *p = find_pool(pd, lsm_pool_id_get(pool));
if( p ) {
- rc = _pool_create(c, system, pool_name, size_bytes, pool, job);
+ rc = _pool_create(c, system, pool_name, size_bytes, created_pool, job);
} else {
rc = lsm_log_error_basic(c, LSM_ERR_NOT_FOUND_POOL, "Pool not found");
}
diff --git a/src/lsm_mgmt.cpp b/src/lsm_mgmt.cpp
index 09497f1..bad3a1b 100644
--- a/src/lsm_mgmt.cpp
+++ b/src/lsm_mgmt.cpp
@@ -1013,8 +1013,8 @@ int LSM_DLL_EXPORT lsm_pool_create_from_volumes(lsm_connect *c,
int lsm_pool_create_from_pool(lsm_connect *c, lsm_system *system,
- const char *pool_name, const char *member_id,
- uint64_t size_bytes, lsm_pool **pool, char **job,
+ const char *pool_name, lsm_pool *pool,
+ uint64_t size_bytes, lsm_pool **created_pool, char **job,
lsm_flag flags)
{
CONN_SETUP(c);
@@ -1023,8 +1023,12 @@ int LSM_DLL_EXPORT lsm_pool_create_from_volumes(lsm_connect *c,
return LSM_ERR_INVALID_SYSTEM;
}
- if( CHECK_STR(pool_name) || CHECK_STR(member_id) ||
- !size_bytes || CHECK_RP(pool)|| CHECK_RP(job) ||
+ if( !LSM_IS_POOL(pool) ) {
+ return LSM_ERR_INVALID_POOL;
+ }
+
+ if( CHECK_STR(pool_name) ||
+ !size_bytes || CHECK_RP(created_pool)|| CHECK_RP(job) ||
LSM_FLAG_UNUSED_CHECK(flags) ) {
return LSM_ERR_INVALID_ARGUMENT;
}
@@ -1033,7 +1037,7 @@ int LSM_DLL_EXPORT lsm_pool_create_from_volumes(lsm_connect *c,
p["system"] = system_to_value(system);
p["pool_name"] = Value(pool_name);
p["size_bytes"] = Value(size_bytes);
- p["member_id"] = Value(member_id);
+ p["pool"] = pool_to_value(pool);
p["flags"] = Value(flags);
Value parameters(p);
@@ -1041,7 +1045,7 @@ int LSM_DLL_EXPORT lsm_pool_create_from_volumes(lsm_connect *c,
int rc = rpc(c, "pool_create_from_pool", parameters, response);
if( LSM_ERR_OK == rc ) {
- *pool = (lsm_pool *)parse_job_response(c, response, rc, job,
+ *created_pool = (lsm_pool *)parse_job_response(c, response, rc, job,
(convert)value_to_pool);
}
return rc;
diff --git a/src/lsm_plugin_ipc.cpp b/src/lsm_plugin_ipc.cpp
index 7e8b676..c71f752 100644
--- a/src/lsm_plugin_ipc.cpp
+++ b/src/lsm_plugin_ipc.cpp
@@ -598,29 +598,30 @@ static int handle_pool_create_from_pool(lsm_plugin_ptr p, Value ¶ms, Value &
Value v_sys = params["system"];
Value v_pool_name = params["pool_name"];
- Value v_member_id = params["member_id"];
+ Value v_pool = params["pool"];
Value v_size = params["size_bytes"];
if( Value::object_t == v_sys.valueType() &&
Value::string_t == v_pool_name.valueType() &&
- Value::string_t == v_member_id.valueType() &&
+ Value::object_t == v_pool.valueType() &&
Value::numeric_t == v_size.valueType() &&
LSM_FLAG_EXPECTED_TYPE(params)) {
lsm_system *sys = value_to_system(v_sys);
const char *pool_name = v_pool_name.asC_str();
- const char *member_id = v_member_id.asC_str();
+ lsm_pool *pool = value_to_pool(v_pool);
uint64_t size = v_size.asUint64_t();
- lsm_pool *pool = NULL;
+ lsm_pool *created_pool = NULL;
char *job = NULL;
rc = p->san_ops->pool_create_from_pool(p, sys, pool_name,
- member_id, size, &pool, &job,
+ pool, size, &created_pool, &job,
LSM_FLAG_GET_VALUE(params));
- Value p = pool_to_value(pool);
+ Value p = pool_to_value(created_pool);
response = job_handle(p, job);
+ lsm_pool_record_free(created_pool);
lsm_pool_record_free(pool);
lsm_system_record_free(sys);
free(job);
diff --git a/test/tester.c b/test/tester.c
index b7742b6..6da6461 100644
--- a/test/tester.c
+++ b/test/tester.c
@@ -2457,7 +2457,7 @@ START_TEST(test_pool_create)
lsm_disk **disks = NULL;
uint32_t num_disks = 0;
lsm_string_list *member_ids = lsm_string_list_alloc(0);
- char *pool_one = NULL;
+ lsm_pool *pool_one = NULL;
lsm_system *system = get_system(c);
/*
@@ -2533,7 +2533,7 @@ START_TEST(test_pool_create)
if( LSM_ERR_OK == rc ) {
- pool_one = strdup(lsm_pool_id_get(pools[0]));
+ pool_one = lsm_pool_record_copy(pools[0]);
for( i = 0; i < num_pools; ++i ) {
job = NULL;
@@ -2618,6 +2618,11 @@ START_TEST(test_pool_create)
}
}
+ if( pool_one ) {
+ lsm_pool_record_free(pool_one);
+ pool_one = NULL;
+ }
+
if( system ) {
lsm_system_record_free(system);
system = NULL;
source of creating pool from pool (sub pool).
Signed-off-by: Tony Asleson <***@redhat.com>
---
include/libstoragemgmt/libstoragemgmt.h | 8 ++++----
include/libstoragemgmt/libstoragemgmt_plug_interface.h | 8 ++++----
lsm/lsm/_client.py | 4 ++--
lsm/lsm/_cmdline.py | 9 ++-------
lsm/lsm/simulator.py | 4 ++--
plugin/simc_lsmplugin.c | 8 ++++----
src/lsm_mgmt.cpp | 16 ++++++++++------
src/lsm_plugin_ipc.cpp | 13 +++++++------
test/tester.c | 9 +++++++--
9 files changed, 42 insertions(+), 37 deletions(-)
diff --git a/include/libstoragemgmt/libstoragemgmt.h b/include/libstoragemgmt/libstoragemgmt.h
index 34fb781..5b43575 100644
--- a/include/libstoragemgmt/libstoragemgmt.h
+++ b/include/libstoragemgmt/libstoragemgmt.h
@@ -316,9 +316,9 @@ extern "C" {
* @param [in] system System of where pool will reside
* @param [in] pool_name The name of the new pool, will not fail
* if request name cannot be fulfilled
- * @param [in] member_id The ID of pool to create new pool from
+ * @param [in] pool The pool to create new pool from
* @param [in] size_bytes Desired size of new pool
- * @param [out] pool Newly created pool
+ * @param [out] created_pool Newly created pool
* @param [out] job Job ID of aysnc.
* @param [in] flags Reserved for future use, must be zero
* @return LSM_ERR_OK on success, LSM_ERR_JOB_STARTED if async.,
@@ -326,8 +326,8 @@ extern "C" {
*/
int LSM_DLL_EXPORT lsm_pool_create_from_pool(lsm_connect *conn,
lsm_system *system, const char *pool_name,
- const char *member_id, uint64_t size_bytes,
- lsm_pool** pool, char **job, lsm_flag flags);
+ lsm_pool *pool, uint64_t size_bytes,
+ lsm_pool** created_pool, char **job, lsm_flag flags);
/**
* Deletes a pool
diff --git a/include/libstoragemgmt/libstoragemgmt_plug_interface.h b/include/libstoragemgmt/libstoragemgmt_plug_interface.h
index 6b685bc..9ad7983 100644
--- a/include/libstoragemgmt/libstoragemgmt_plug_interface.h
+++ b/include/libstoragemgmt/libstoragemgmt_plug_interface.h
@@ -271,16 +271,16 @@ typedef int (*lsm_plug_pool_create_from_volumes)( lsm_plugin_ptr c,
* @param[in] c Valid lsm plug-in pointer
* @param[in] system System id
* @param[in] pool_name Human name of pool
- * @param[in] member_id ID of pool to create pool from
+ * @param[in] pool Pool to create pool from
* @param[in] size_bytes Size of pool
- * @param[out] pool Newly create pool if done sync.
+ * @param[out] created_pool Newly create pool if done sync.
* @param[out] job Job id if execution is async.
* @return LSM_ERR_OK, else error reason
*/
typedef int (*lsm_plug_pool_create_from_pool)( lsm_plugin_ptr c,
lsm_system *system,
- const char *pool_name, const char *member_id,
- uint64_t size_bytes, lsm_pool **pool, char **job,
+ const char *pool_name, lsm_pool *pool,
+ uint64_t size_bytes, lsm_pool **created_pool, char **job,
lsm_flag flags );
diff --git a/lsm/lsm/_client.py b/lsm/lsm/_client.py
index 9d86994..a769412 100644
--- a/lsm/lsm/_client.py
+++ b/lsm/lsm/_client.py
@@ -388,13 +388,13 @@ class Client(INetworkAttachedStorage):
# @param system_id The id of system where new pool should reside.
# @param pool_name The name for new pool. Will not fail if created
# pool_name is not the same as requested.
- # @param member_id The id of pool to allocate space from for new pool.
+ # @param pool The pool to allocate space from for new pool.
# @param size_bytes The size of the new pool.
# @param flags Reserved for future use.
# @returns A tuple (job_id, new_pool), when one is None the other is
# valid.
@_return_requires(unicode, Pool)
- def pool_create_from_pool(self, system_id, pool_name, member_id,
+ def pool_create_from_pool(self, system_id, pool_name, pool,
size_bytes, flags=0):
"""
Creates pool from volumes.
diff --git a/lsm/lsm/_cmdline.py b/lsm/lsm/_cmdline.py
index a679583..7408292 100644
--- a/lsm/lsm/_cmdline.py
+++ b/lsm/lsm/_cmdline.py
@@ -1746,12 +1746,7 @@ class CmdLine:
"from pool only allow one member pool")
member_id = member_ids[0]
-
- pools = self.c.pools()
- pool_ids = [p.id for p in pools]
- if member_id not in pool_ids:
- raise ArgError("Invalid pools ID specified in " +
- "--member-id %s " % member_id)
+ pool = _get_item(self.c.pools(), member_id, "pool id")
size_bytes = self._size(self.args.size)
@@ -1759,7 +1754,7 @@ class CmdLine:
pool = self._wait_for_it(
"pool-create-from-pool",
*self.c.pool_create_from_pool(
- system, pool_name, member_id, size_bytes, 0))
+ system, pool_name, pool, size_bytes, 0))
self.display_data([pool])
def _read_configfile(self):
diff --git a/lsm/lsm/simulator.py b/lsm/lsm/simulator.py
index e5a3630..05bb21e 100644
--- a/lsm/lsm/simulator.py
+++ b/lsm/lsm/simulator.py
@@ -105,10 +105,10 @@ class SimPlugin(INfs, IStorageAreaNetwork):
return self.sim_array.pool_create_from_volumes(
system.id, pool_name, member_ids, raid_type, flags)
- def pool_create_from_pool(self, system, pool_name, member_id,
+ def pool_create_from_pool(self, system, pool_name, pool,
size_bytes, flags=0):
return self.sim_array.pool_create_from_pool(
- system.id, pool_name, member_id, size_bytes, flags)
+ system.id, pool_name, pool.id, size_bytes, flags)
def pool_delete(self, pool, flags=0):
return self.sim_array.pool_delete(pool.id, flags)
diff --git a/plugin/simc_lsmplugin.c b/plugin/simc_lsmplugin.c
index 3269506..fe8506f 100644
--- a/plugin/simc_lsmplugin.c
+++ b/plugin/simc_lsmplugin.c
@@ -1095,17 +1095,17 @@ bail:
}
static int pool_create_from_pool(lsm_plugin_ptr c, lsm_system *system,
- const char *pool_name, const char *member_id,
- uint64_t size_bytes, lsm_pool **pool, char **job,
+ const char *pool_name, lsm_pool *pool,
+ uint64_t size_bytes, lsm_pool **created_pool, char **job,
lsm_flag flags )
{
/* Check that the disks are valid, then call common routine */
int rc = LSM_ERR_OK;
struct plugin_data *pd = (struct plugin_data*)lsm_private_data_get(c);
- lsm_pool *p = find_pool(pd, member_id);
+ lsm_pool *p = find_pool(pd, lsm_pool_id_get(pool));
if( p ) {
- rc = _pool_create(c, system, pool_name, size_bytes, pool, job);
+ rc = _pool_create(c, system, pool_name, size_bytes, created_pool, job);
} else {
rc = lsm_log_error_basic(c, LSM_ERR_NOT_FOUND_POOL, "Pool not found");
}
diff --git a/src/lsm_mgmt.cpp b/src/lsm_mgmt.cpp
index 09497f1..bad3a1b 100644
--- a/src/lsm_mgmt.cpp
+++ b/src/lsm_mgmt.cpp
@@ -1013,8 +1013,8 @@ int LSM_DLL_EXPORT lsm_pool_create_from_volumes(lsm_connect *c,
int lsm_pool_create_from_pool(lsm_connect *c, lsm_system *system,
- const char *pool_name, const char *member_id,
- uint64_t size_bytes, lsm_pool **pool, char **job,
+ const char *pool_name, lsm_pool *pool,
+ uint64_t size_bytes, lsm_pool **created_pool, char **job,
lsm_flag flags)
{
CONN_SETUP(c);
@@ -1023,8 +1023,12 @@ int LSM_DLL_EXPORT lsm_pool_create_from_volumes(lsm_connect *c,
return LSM_ERR_INVALID_SYSTEM;
}
- if( CHECK_STR(pool_name) || CHECK_STR(member_id) ||
- !size_bytes || CHECK_RP(pool)|| CHECK_RP(job) ||
+ if( !LSM_IS_POOL(pool) ) {
+ return LSM_ERR_INVALID_POOL;
+ }
+
+ if( CHECK_STR(pool_name) ||
+ !size_bytes || CHECK_RP(created_pool)|| CHECK_RP(job) ||
LSM_FLAG_UNUSED_CHECK(flags) ) {
return LSM_ERR_INVALID_ARGUMENT;
}
@@ -1033,7 +1037,7 @@ int LSM_DLL_EXPORT lsm_pool_create_from_volumes(lsm_connect *c,
p["system"] = system_to_value(system);
p["pool_name"] = Value(pool_name);
p["size_bytes"] = Value(size_bytes);
- p["member_id"] = Value(member_id);
+ p["pool"] = pool_to_value(pool);
p["flags"] = Value(flags);
Value parameters(p);
@@ -1041,7 +1045,7 @@ int LSM_DLL_EXPORT lsm_pool_create_from_volumes(lsm_connect *c,
int rc = rpc(c, "pool_create_from_pool", parameters, response);
if( LSM_ERR_OK == rc ) {
- *pool = (lsm_pool *)parse_job_response(c, response, rc, job,
+ *created_pool = (lsm_pool *)parse_job_response(c, response, rc, job,
(convert)value_to_pool);
}
return rc;
diff --git a/src/lsm_plugin_ipc.cpp b/src/lsm_plugin_ipc.cpp
index 7e8b676..c71f752 100644
--- a/src/lsm_plugin_ipc.cpp
+++ b/src/lsm_plugin_ipc.cpp
@@ -598,29 +598,30 @@ static int handle_pool_create_from_pool(lsm_plugin_ptr p, Value ¶ms, Value &
Value v_sys = params["system"];
Value v_pool_name = params["pool_name"];
- Value v_member_id = params["member_id"];
+ Value v_pool = params["pool"];
Value v_size = params["size_bytes"];
if( Value::object_t == v_sys.valueType() &&
Value::string_t == v_pool_name.valueType() &&
- Value::string_t == v_member_id.valueType() &&
+ Value::object_t == v_pool.valueType() &&
Value::numeric_t == v_size.valueType() &&
LSM_FLAG_EXPECTED_TYPE(params)) {
lsm_system *sys = value_to_system(v_sys);
const char *pool_name = v_pool_name.asC_str();
- const char *member_id = v_member_id.asC_str();
+ lsm_pool *pool = value_to_pool(v_pool);
uint64_t size = v_size.asUint64_t();
- lsm_pool *pool = NULL;
+ lsm_pool *created_pool = NULL;
char *job = NULL;
rc = p->san_ops->pool_create_from_pool(p, sys, pool_name,
- member_id, size, &pool, &job,
+ pool, size, &created_pool, &job,
LSM_FLAG_GET_VALUE(params));
- Value p = pool_to_value(pool);
+ Value p = pool_to_value(created_pool);
response = job_handle(p, job);
+ lsm_pool_record_free(created_pool);
lsm_pool_record_free(pool);
lsm_system_record_free(sys);
free(job);
diff --git a/test/tester.c b/test/tester.c
index b7742b6..6da6461 100644
--- a/test/tester.c
+++ b/test/tester.c
@@ -2457,7 +2457,7 @@ START_TEST(test_pool_create)
lsm_disk **disks = NULL;
uint32_t num_disks = 0;
lsm_string_list *member_ids = lsm_string_list_alloc(0);
- char *pool_one = NULL;
+ lsm_pool *pool_one = NULL;
lsm_system *system = get_system(c);
/*
@@ -2533,7 +2533,7 @@ START_TEST(test_pool_create)
if( LSM_ERR_OK == rc ) {
- pool_one = strdup(lsm_pool_id_get(pools[0]));
+ pool_one = lsm_pool_record_copy(pools[0]);
for( i = 0; i < num_pools; ++i ) {
job = NULL;
@@ -2618,6 +2618,11 @@ START_TEST(test_pool_create)
}
}
+ if( pool_one ) {
+ lsm_pool_record_free(pool_one);
+ pool_one = NULL;
+ }
+
if( system ) {
lsm_system_record_free(system);
system = NULL;
--
1.8.2.1
1.8.2.1