dsl_dataset.h revision 9adfa60d484ce2435f5af77cc99dcd4e692b6660
1N/A * The contents of this file are subject to the terms of the 1N/A * Common Development and Distribution License (the "License"). 1N/A * You may not use this file except in compliance with the License. 1N/A * See the License for the specific language governing permissions 1N/A * and limitations under the License. 1N/A * When distributing Covered Code, include this CDDL HEADER in each 1N/A * If applicable, add the following below this CDDL HEADER, with the 1N/A * fields enclosed by brackets "[]" replaced with your own identifying 1N/A * information: Portions Copyright [yyyy] [name of copyright owner] 1N/A * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. * Do not allow this dataset to be promoted. * DS_FLAG_UNIQUE_ACCURATE is set if ds_unique_bytes has been correctly * calculated for head datasets (starting with SPA_VERSION_UNIQUE_ACCURATE, * DS_FLAG_DEFER_DESTROY is set after 'zfs destroy -d' has been called * on a dataset. This allows the dataset to be destroyed using 'zfs release'. * DS_FIELD_* are strings that are used in the "extensified" dataset zap object. * They should be of the format <reverse-dns>:<field>. * This field's value is the object ID of a zap object which contains the * bookmarks of this dataset. If it is present, then this dataset is counted * in the refcount of the SPA_FEATURES_BOOKMARKS feature. * This field is present (with value=0) if this dataset may contain large * blocks (>128KB). If it is present, then this dataset * is counted in the refcount of the SPA_FEATURE_LARGE_BLOCKS feature. * These fields are set on datasets that are in the middle of a resumable * receive, and allow the sender to resume the send if it is interrupted. * DS_FLAG_CI_DATASET is set if the dataset contains a file system whose * name lookups should be performed case-insensitively. * ds_referenced_bytes, ds_compressed_bytes, and ds_uncompressed_bytes * include all blocks referenced by this dataset, including those * shared with any other datasets. * The ds_fsid_guid is a 56-bit ID that can change to avoid * collisions. The ds_guid is a 64-bit ID that will never * change, so there is a small probability that it will collide. /* only used in syncing context, only valid for non-snapshots: */ /* has internal locking: */ /* protected by lock on pool's dp_dirty_datasets list */ * ds_phys->ds_<accounting> is also protected by ds_lock. * Long holds prevent the ds from being destroyed; they allow the * ds to remain held even after dropping the dp_config_rwlock. * Owning counts as a long hold. See the comments above * dsl_pool_hold() for details. /* no locking; only for making guesses */ * When in the middle of a resumable receive, tracks how much /* Protected by our dsl_dir's dd_lock */ * For ZFEATURE_FLAG_PER_DATASET features, set if this dataset * Set if we need to activate the feature on this dataset this txg * (used only in syncing context). /* Protected by ds_lock; keep at end of struct for better locality */ * The max length of a temporary tag prefix is the number of hex digits * required to express UINT64_MAX plus one for the hyphen. #
endif /* _SYS_DSL_DATASET_H */