mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
MFV r272500:
Don't inherit flags other than DS_FLAG_CI_DATASET and DS_FLAG_INCONSISTENT
when cloning. This prevents DS_FLAG_DEFER_DESTROY being inherited from a
clone that is marked for deferred destroy, which causes snapshots of the
clone being destroyed when getting a hold or clone.
Illumos issue:
5150 zfs clone of a defer_destroy snapshot causes strangeness
MFC after: 1 week
This commit is contained in:
commit
00769ce74d
1 changed files with 8 additions and 2 deletions
|
|
@ -21,7 +21,7 @@
|
|||
/*
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Portions Copyright (c) 2011 Martin Matuska <mm@FreeBSD.org>
|
||||
* Copyright (c) 2013, 2014 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2011, 2014 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2014, Joyent, Inc. All rights reserved.
|
||||
* Copyright (c) 2014 RackTop Systems.
|
||||
*/
|
||||
|
|
@ -699,7 +699,13 @@ dsl_dataset_create_sync_dd(dsl_dir_t *dd, dsl_dataset_t *origin,
|
|||
dsphys->ds_uncompressed_bytes =
|
||||
origin->ds_phys->ds_uncompressed_bytes;
|
||||
dsphys->ds_bp = origin->ds_phys->ds_bp;
|
||||
dsphys->ds_flags |= origin->ds_phys->ds_flags;
|
||||
|
||||
/*
|
||||
* Inherit flags that describe the dataset's contents
|
||||
* (INCONSISTENT) or properties (Case Insensitive).
|
||||
*/
|
||||
dsphys->ds_flags |= origin->ds_phys->ds_flags &
|
||||
(DS_FLAG_INCONSISTENT | DS_FLAG_CI_DATASET);
|
||||
|
||||
dmu_buf_will_dirty(origin->ds_dbuf, tx);
|
||||
origin->ds_phys->ds_num_children++;
|
||||
|
|
|
|||
Loading…
Reference in a new issue