1fa9e4066Sahrens/* 2fa9e4066Sahrens * CDDL HEADER START 3fa9e4066Sahrens * 4fa9e4066Sahrens * The contents of this file are subject to the terms of the 555434c77Sek110237 * Common Development and Distribution License (the "License"). 655434c77Sek110237 * You may not use this file except in compliance with the License. 7fa9e4066Sahrens * 8fa9e4066Sahrens * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9fa9e4066Sahrens * or http://www.opensolaris.org/os/licensing. 10fa9e4066Sahrens * See the License for the specific language governing permissions 11fa9e4066Sahrens * and limitations under the License. 12fa9e4066Sahrens * 13fa9e4066Sahrens * When distributing Covered Code, include this CDDL HEADER in each 14fa9e4066Sahrens * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15fa9e4066Sahrens * If applicable, add the following below this CDDL HEADER, with the 16fa9e4066Sahrens * fields enclosed by brackets "[]" replaced with your own identifying 17fa9e4066Sahrens * information: Portions Copyright [yyyy] [name of copyright owner] 18fa9e4066Sahrens * 19fa9e4066Sahrens * CDDL HEADER END 20fa9e4066Sahrens */ 21fa9e4066Sahrens/* 220a586ceaSMark Shellenbaum * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 23fa9e4066Sahrens * Use is subject to license terms. 24fa9e4066Sahrens */ 25fa9e4066Sahrens 26ad135b5dSChristopher Siden/* 2730beaff4SGeorge Wilson * Copyright (c) 2012, 2014 by Delphix. All rights reserved. 28ad135b5dSChristopher Siden */ 29ad135b5dSChristopher Siden 30fa9e4066Sahrens/* LINTLIBRARY */ 31fa9e4066Sahrens/* PROTOLIB1 */ 32fa9e4066Sahrens 33fa9e4066Sahrens#include <sys/zfs_context.h> 34fa9e4066Sahrens#include <sys/list.h> 35fa9e4066Sahrens#include <sys/list_impl.h> 36fa9e4066Sahrens#include <sys/sysmacros.h> 37fa9e4066Sahrens#include <sys/debug.h> 38fa9e4066Sahrens#include <sys/dmu_traverse.h> 39fa9e4066Sahrens#include <sys/dnode.h> 40fa9e4066Sahrens#include <sys/dsl_prop.h> 414f5064b7SMark J Musante#include <sys/dsl_dataset.h> 42fa9e4066Sahrens#include <sys/spa.h> 43fa9e4066Sahrens#include <sys/spa_impl.h> 44fa9e4066Sahrens#include <sys/space_map.h> 45fa9e4066Sahrens#include <sys/vdev.h> 46fa9e4066Sahrens#include <sys/vdev_impl.h> 47fa9e4066Sahrens#include <sys/zap.h> 48fa9e4066Sahrens#include <sys/zio.h> 49fa9e4066Sahrens#include <sys/zio_compress.h> 50fa9e4066Sahrens#include <sys/zil.h> 51fa9e4066Sahrens#include <sys/bplist.h> 5255434c77Sek110237#include <sys/zfs_znode.h> 5388b7b0f2SMatthew Ahrens#include <sys/arc.h> 54b24ab676SJeff Bonwick#include <sys/dbuf.h> 55b24ab676SJeff Bonwick#include <sys/zio_checksum.h> 56b24ab676SJeff Bonwick#include <sys/ddt.h> 570a586ceaSMark Shellenbaum#include <sys/sa.h> 580a586ceaSMark Shellenbaum#include <sys/zfs_sa.h> 59ad135b5dSChristopher Siden#include <sys/zfeature.h> 603b2aab18SMatthew Ahrens#include <sys/dmu_tx.h> 613b2aab18SMatthew Ahrens#include <sys/dsl_destroy.h> 623b2aab18SMatthew Ahrens#include <sys/dsl_userhold.h> 635d7b4d43SMatthew Ahrens#include <sys/blkptr.h> 64*fc30d466SJason King#include <libcmdutils.h> 65fa9e4066Sahrens 66e05725b1Sbonwickextern uint64_t metaslab_gang_bang; 67d6e555bdSGeorge Wilsonextern uint64_t metaslab_df_alloc_threshold; 68ad135b5dSChristopher Sidenextern boolean_t zfeature_checks_disable; 6969962b56SMatthew Ahrensextern uint64_t zfs_deadman_synctime_ms; 7030beaff4SGeorge Wilsonextern int metaslab_preload_limit; 71