Skip to content

Commit

Permalink
5135 zpool_find_import_cached() can use fnvlist_*
Browse files Browse the repository at this point in the history
Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Reviewed by: Max Grossman <max.grossman@delphix.com>
Reviewed by: Richard Elling <richard.elling@gmail.com>
Approved by: Dan McDonald <danmcd@omniti.com>
  • Loading branch information
ahrens authored and Christopher Siden committed Sep 10, 2014
1 parent e94f268 commit b18d6b0
Showing 1 changed file with 6 additions and 12 deletions.
18 changes: 6 additions & 12 deletions usr/src/lib/libzfs/common/libzfs_import.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012 by Delphix. All rights reserved.
* Copyright (c) 2013 by Delphix. All rights reserved.
* Copyright 2014 Nexenta Systems, Inc. All rights reserved.
*/

Expand Down Expand Up @@ -1377,21 +1377,15 @@ zpool_find_import_cached(libzfs_handle_t *hdl, const char *cachefile,

elem = NULL;
while ((elem = nvlist_next_nvpair(raw, elem)) != NULL) {
verify(nvpair_value_nvlist(elem, &src) == 0);
src = fnvpair_value_nvlist(elem);

verify(nvlist_lookup_string(src, ZPOOL_CONFIG_POOL_NAME,
&name) == 0);
name = fnvlist_lookup_string(src, ZPOOL_CONFIG_POOL_NAME);
if (poolname != NULL && strcmp(poolname, name) != 0)
continue;

verify(nvlist_lookup_uint64(src, ZPOOL_CONFIG_POOL_GUID,
&this_guid) == 0);
if (guid != 0) {
verify(nvlist_lookup_uint64(src, ZPOOL_CONFIG_POOL_GUID,
&this_guid) == 0);
if (guid != this_guid)
continue;
}
this_guid = fnvlist_lookup_uint64(src, ZPOOL_CONFIG_POOL_GUID);
if (guid != 0 && guid != this_guid)
continue;

if (pool_active(hdl, name, this_guid, &active) != 0) {
nvlist_free(raw);
Expand Down

0 comments on commit b18d6b0

Please sign in to comment.