zfs.c revision 3f9d6ad73e45c6823b409f93b0c8d4f62861d2d5
2N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
static int gotid;
if (!gotid) {
return (DCMD_ERR);
return (DCMD_ERR);
static boolean_t
return (B_FALSE);
return (B_TRUE);
static int verbose;
return (WALK_ERR);
return (WALK_NEXT);
return (WALK_DONE);
if (verbose)
return (WALK_NEXT);
static int gotid;
if (!gotid) {
return (DCMD_ERR);
return (DCMD_ERR);
if (dd_parent) {
return (DCMD_ERR);
if (dd_myname[0])
static int gotid;
if (!gotid) {
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
if (os_dsl_dataset == 0) {
return (DCMD_ERR);
return (DCMD_ERR);
if (ds_snapname[0]) {
const char *prefix)
const char *cp;
static const char *params[] = {
int sz;
return (DCMD_OK);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_OK);
return (DCMD_ERR);
return (WALK_ERR);
return (WALK_ERR);
return (WALK_ERR);
return (DCMD_OK);
int i, maxidx;
return (DCMD_ERR);
for (i = 0; i < HISTOSZ; i++) {
histo[i] = 0;
histo2[i] = 0;
ndbufs = 0;
int len;
return (DCMD_ERR);
len = 0;
while (dbp != 0) {
return (DCMD_ERR);
histo2[i]++;
len++;
ndbufs++;
maxidx = 0;
for (i = 0; i < HISTOSZ; i++)
if (histo[i] > 0)
maxidx = i;
for (i = 0; i <= maxidx; i++)
maxidx = 0;
for (i = 0; i < HISTOSZ; i++)
if (histo2[i] > 0)
maxidx = i;
for (i = 0; i <= maxidx; i++)
return (DCMD_OK);
zap_leaf_t l;
return (DCMD_USAGE);
if (four)
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_ERR);
if (verbose) {
for (i = 0; i < ZAP_LEAF_HASH_NUMENTRIES(&l); i++) {
for (i = 0; i < ZAP_LEAF_NUMCHUNKS(&l); i++) {
case ZAP_CHUNK_FREE:
if (verbose) {
case ZAP_CHUNK_ENTRY:
if (verbose) {
case ZAP_CHUNK_ARRAY:
if (verbose) {
for (j = 0; j < ZAP_LEAF_ARRAY_BYTES; j++) {
return (DCMD_OK);
typedef struct dbufs_data {
char *osname;
} dbufs_data_t;
return (WALK_ERR);
return (WALK_NEXT);
return (DCMD_USAGE);
if (object) {
if (blkid) {
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_OK);
typedef struct abuf_find_data {
return (WALK_ERR);
return (WALK_NEXT);
const char *syms[] = {
return (DCMD_USAGE);
case MDB_TYPE_STRING:
case MDB_TYPE_IMMEDIATE:
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_OK);
if (!gotid) {
return (WALK_ERR);
return (WALK_ERR);
return (WALK_ERR);
return (DCMD_ERR);
if (*verbosep)
if (*verbosep)
return (WALK_NEXT);
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_OK);
int nstats, i;
const char *suffix;
static const char *bytestats[] = {
static const char *extras[] = {
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_USAGE);
switch (shift) {
for (i = 0; i < nstats; i++) {
for (j = 0; bytestats[j]; j++) {
if (bytes) {
for (i = 0; extras[i]; i++) {
return (DCMD_ERR);
extras[i]);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_OK);
const char *state;
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_OK);
return (DCMD_OK);
return (DCMD_ERR);
if (config) {
return (DCMD_ERR);
mdb_arg_t v;
&v) != DCMD_OK)
return (DCMD_ERR);
return (DCMD_OK);
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_OK);
0, NULL));
int recursive)
int c, children;
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
case VDEV_STATE_CLOSED:
case VDEV_STATE_OFFLINE:
case VDEV_STATE_CANT_OPEN:
case VDEV_STATE_DEGRADED:
case VDEV_STATE_HEALTHY:
case VDEV_STATE_REMOVED:
case VDEV_STATE_FAULTED:
case VDEV_AUX_NONE:
case VDEV_AUX_OPEN_FAILED:
case VDEV_AUX_CORRUPT_DATA:
case VDEV_AUX_NO_REPLICAS:
case VDEV_AUX_BAD_GUID_SUM:
case VDEV_AUX_TOO_SMALL:
case VDEV_AUX_BAD_LABEL:
case VDEV_AUX_VERSION_NEWER:
case VDEV_AUX_VERSION_OLDER:
case VDEV_AUX_SPARED:
case VDEV_AUX_ERR_EXCEEDED:
case VDEV_AUX_IO_FAILURE:
case VDEV_AUX_BAD_LOG:
case VDEV_AUX_EXTERNAL:
case VDEV_AUX_SPLIT_POOL:
if (stats) {
if (stats)
return (DCMD_OK);
return (DCMD_ERR);
for (c = 0; c < children; c++) {
return (DCMD_ERR);
return (DCMD_OK);
return (DCMD_USAGE);
return (DCMD_ERR);
typedef struct metaslab_walk_data {
int mw_curvdev;
int mw_curms;
return (WALK_DONE);
return (WALK_ERR);
return (WALK_ERR);
return (WALK_NEXT);
return (WALK_ERR);
return (WALK_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
return (WALK_NEXT);
typedef struct mdb_spa {
} mdb_spa_t;
typedef struct mdb_dsl_dir {
typedef struct mdb_dsl_dir_phys {
typedef struct mdb_vdev {
} mdb_vdev_t;
typedef struct mdb_metaslab {
typedef struct space_data {
} space_data_t;
return (WALK_ERR);
return (WALK_NEXT);
argc)
return (DCMD_USAGE);
return (DCMD_USAGE);
if (bits) {
shift = 0;
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_OK);
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_OK);
return (DCMD_OK);
const char *name)
int ret, i;
return (DCMD_ERR);
return (ret);
int ret;
return (DCMD_USAGE);
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_OK);
return (ret);
return (DCMD_ERR);
return (DCMD_OK);
#define ZIO_WALK_SELF 0
typedef struct zio_print_args {
int zpa_current_depth;
int zpa_min_depth;
int zpa_max_depth;
int zpa_type;
return (WALK_ERR);
return (WALK_NEXT);
return (WALK_ERR);
return (WALK_NEXT);
return (WALK_ERR);
return (WALK_ERR);
return (DCMD_USAGE);
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_OK);
addr = 0;
typedef struct txg_list_walk_data {
int lw_txgoff;
int lw_maxoff;
void *lw_obj;
return (WALK_ERR);
for (i = 0; i < TXG_SIZE; i++)
return (WALK_NEXT);
int status;
return (WALK_DONE);
return (WALK_ERR);
return (status);
return (WALK_ERR);
return (WALK_ERR);
return (WALK_ERR);
return (WALK_NEXT);
return (WALK_ERR);
return (WALK_ERR);
return (WALK_NEXT);
return (WALK_ERR);
return (WALK_NEXT);
return (WALK_ERR);
return (WALK_NEXT);
return (WALK_NEXT);
for (i = frac_digits; i; i--)
int index = 0;
index++;
if (index == 0) {
(u_longlong_t)n);
(u_longlong_t)n, u);
return (DCMD_ERR);
return (DCMD_USAGE);
return (DCMD_USAGE);
return (DCMD_ERR);
if (ditto != 0) {
for (t = 0; t <= DMU_OT_NUMTYPES; t++) {
if (t == DMU_OT_DEFERRED)
else if (t == DMU_OT_TOTAL)
return (DCMD_ERR);
return (DCMD_OK);
static int gotid;
if (!gotid) {
return (WALK_ERR);
return (WALK_ERR);
if (removed)
if (holder_is_str)
if (removed) {
return (WALK_NEXT);
static int gotid;
return (DCMD_USAGE);
if (!gotid) {
return (DCMD_ERR);
return (DCMD_ERR);
if (rc_count > 0)
return (DCMD_ERR);
if (rc_removed_count > 0)
return (DCMD_ERR);
return (DCMD_OK);
char *name;
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_OK);
return (DCMD_OK);
int attr_count;
return (DCMD_USAGE);
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
if (bonus_tab) {
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_OK);
if (!verbose) {
return (DCMD_OK);
case ACE_OWNER:
case ACE_EVERYONE:
case ACE_IDENTIFIER_GROUP:
switch (ace_type) {
return (DCMD_OK);
return (DCMD_USAGE);
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_USAGE);
return (DCMD_USAGE);
return (DCMD_ERR);
typedef struct acl_dump_args {
int a_argc;
int a_flags;
return (WALK_ERR);
return (WALK_ERR);
return (WALK_NEXT);
return (DCMD_ERR);
return (DCMD_ERR);
return (WALK_NEXT);
return (DCMD_USAGE);
return (DCMD_USAGE);
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_OK);
return (WALK_ERR);
return (WALK_ERR);
return (WALK_NEXT);
return (WALK_ERR);
typedef struct ace_walk_data {
int ace_count;
int ace_version;
return (WALK_ERR);
return (WALK_NEXT);
static int gotid;
int z_ace_count;
if (!gotid) {
return (DCMD_ERR);
return (DCMD_ERR);
return (DCMD_ERR);
int status;
int entry_type;
int allow_type;
return (WALK_DONE);
return (WALK_ERR);
return (WALK_ERR);
switch (entry_type) {
case ACE_OWNER:
case ACE_EVERYONE:
case ACE_IDENTIFIER_GROUP:
switch (allow_type) {
return (status);
abuf_find },
zfs_blkstats },
zfs_acl_dump },
{ NULL }
#ifndef _KERNEL
{ NULL }
const mdb_modinfo_t *
_mdb_init(void)
return (&modinfo);