Print this page
3946 ::gcore
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
*** 20,32 ****
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
- #pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/avl.h>
#include <mdb/mdb_modapi.h>
struct aw_info {
--- 20,33 ----
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
+ /*
+ * Copyright (c) 2013 by Delphix. All rights reserved.
+ */
#include <sys/avl.h>
#include <mdb/mdb_modapi.h>
struct aw_info {
*** 280,285 ****
--- 281,308 ----
if (aw->aw_buff != NULL)
mdb_free(aw->aw_buff, aw->aw_tree.avl_size);
mdb_free(aw, sizeof (struct aw_info));
+ }
+
+ /*
+ * This function is named avl_walk_mdb to avoid a naming conflict with the
+ * existing avl_walk function.
+ */
+ int
+ avl_walk_mdb(uintptr_t addr, mdb_walk_cb_t callback, void *cbdata)
+ {
+ mdb_walk_state_t ws;
+ int ret;
+
+ ws.walk_addr = addr;
+ ws.walk_callback = callback;
+ ws.walk_cbdata = cbdata;
+
+ avl_walk_init(&ws);
+ while ((ret = avl_walk_step(&ws)) == WALK_NEXT)
+ continue;
+ avl_walk_fini(&ws);
+
+ return (ret);
}