Mercurial > illumos > illumos-gate
annotate usr/src/uts/common/fs/zfs/sys/dmu_objset.h @ 13743:95aba6e49b9f
2882 implement libzfs_core
2883 changing "canmount" property to "on" should not always remount dataset
2900 "zfs snapshot" should be able to create multiple, arbitrary snapshots at once
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Chris Siden <christopher.siden@delphix.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Reviewed by: Bill Pijewski <wdp@joyent.com>
Reviewed by: Dan Kruchinin <dan.kruchinin@gmail.com>
Approved by: Eric Schrock <Eric.Schrock@delphix.com>
author | Matthew Ahrens <mahrens@delphix.com> |
---|---|
date | Sat, 30 Jun 2012 13:00:47 -0700 |
parents | 8c712bbb18ea |
children | 6da32a929222 |
rev | line source |
---|---|
789 | 1 /* |
2 * CDDL HEADER START | |
3 * | |
4 * The contents of this file are subject to the terms of the | |
1544 | 5 * Common Development and Distribution License (the "License"). |
6 * You may not use this file except in compliance with the License. | |
789 | 7 * |
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE | |
9 * or http://www.opensolaris.org/os/licensing. | |
10 * See the License for the specific language governing permissions | |
11 * and limitations under the License. | |
12 * | |
13 * When distributing Covered Code, include this CDDL HEADER in each | |
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. | |
15 * If applicable, add the following below this CDDL HEADER, with the | |
16 * fields enclosed by brackets "[]" replaced with your own identifying | |
17 * information: Portions Copyright [yyyy] [name of copyright owner] | |
18 * | |
19 * CDDL HEADER END | |
20 */ | |
21 /* | |
12178
93ec1371f750
6939983 assertion failed: zap_count(os, DMU_USERUSED_OBJECT, &count) != 0||count == 0, in dsl_dataset.c
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM>
parents:
11935
diff
changeset
|
22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. |
13743
95aba6e49b9f
2882 implement libzfs_core
Matthew Ahrens <mahrens@delphix.com>
parents:
13055
diff
changeset
|
23 * Copyright (c) 2012 by Delphix. All rights reserved. |
789 | 24 */ |
25 | |
12294
2a74b443e6b1
PSARC/2010/108 zil synchronicity
Mark J Musante <Mark.Musante@Sun.COM>
parents:
12178
diff
changeset
|
26 /* Portions Copyright 2010 Robert Milkowski */ |
2a74b443e6b1
PSARC/2010/108 zil synchronicity
Mark J Musante <Mark.Musante@Sun.COM>
parents:
12178
diff
changeset
|
27 |
789 | 28 #ifndef _SYS_DMU_OBJSET_H |
29 #define _SYS_DMU_OBJSET_H | |
30 | |
31 #include <sys/spa.h> | |
3547
e396e0a440b1
6512391 DMU should leverage ZIO dependencies to achieve greater parallelism
maybee
parents:
2885
diff
changeset
|
32 #include <sys/arc.h> |
789 | 33 #include <sys/txg.h> |
34 #include <sys/zfs_context.h> | |
35 #include <sys/dnode.h> | |
36 #include <sys/zio.h> | |
37 #include <sys/zil.h> | |
11935
538c866aaac6
6716117 ZFS needs native system attribute infrastructure
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM>
parents:
11209
diff
changeset
|
38 #include <sys/sa.h> |
789 | 39 |
40 #ifdef __cplusplus | |
41 extern "C" { | |
42 #endif | |
43 | |
12684
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
44 extern krwlock_t os_lock; |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
45 |
789 | 46 struct dsl_dataset; |
47 struct dmu_tx; | |
48 | |
9396
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
49 #define OBJSET_PHYS_SIZE 2048 |
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
50 #define OBJSET_OLD_PHYS_SIZE 1024 |
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
51 |
12296
7cf402a7f374
6675946 'zpool status' should show the progress of resilvering for individual disk.
Lin Ling <Lin.Ling@Sun.COM>
parents:
12294
diff
changeset
|
52 #define OBJSET_BUF_HAS_USERUSED(buf) \ |
7cf402a7f374
6675946 'zpool status' should show the progress of resilvering for individual disk.
Lin Ling <Lin.Ling@Sun.COM>
parents:
12294
diff
changeset
|
53 (arc_buf_size(buf) > OBJSET_OLD_PHYS_SIZE) |
7cf402a7f374
6675946 'zpool status' should show the progress of resilvering for individual disk.
Lin Ling <Lin.Ling@Sun.COM>
parents:
12294
diff
changeset
|
54 |
9396
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
55 #define OBJSET_FLAG_USERACCOUNTING_COMPLETE (1ULL<<0) |
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
56 |
789 | 57 typedef struct objset_phys { |
58 dnode_phys_t os_meta_dnode; | |
59 zil_header_t os_zil_header; | |
60 uint64_t os_type; | |
9396
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
61 uint64_t os_flags; |
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
62 char os_pad[OBJSET_PHYS_SIZE - sizeof (dnode_phys_t)*3 - |
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
63 sizeof (zil_header_t) - sizeof (uint64_t)*2]; |
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
64 dnode_phys_t os_userused_dnode; |
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
65 dnode_phys_t os_groupused_dnode; |
789 | 66 } objset_phys_t; |
67 | |
68 struct objset { | |
69 /* Immutable: */ | |
70 struct dsl_dataset *os_dsl_dataset; | |
71 spa_t *os_spa; | |
3547
e396e0a440b1
6512391 DMU should leverage ZIO dependencies to achieve greater parallelism
maybee
parents:
2885
diff
changeset
|
72 arc_buf_t *os_phys_buf; |
789 | 73 objset_phys_t *os_phys; |
12684
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
74 /* |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
75 * The following "special" dnodes have no parent and are exempt from |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
76 * dnode_move(), but they root their descendents in this objset using |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
77 * handles anyway, so that all access to dnodes from dbufs consistently |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
78 * uses handles. |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
79 */ |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
80 dnode_handle_t os_meta_dnode; |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
81 dnode_handle_t os_userused_dnode; |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
82 dnode_handle_t os_groupused_dnode; |
789 | 83 zilog_t *os_zil; |
10922
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
84 |
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
85 /* can change, under dsl_dir's locks: */ |
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
86 uint8_t os_checksum; |
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
87 uint8_t os_compress; |
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
88 uint8_t os_copies; |
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
89 uint8_t os_dedup_checksum; |
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
90 uint8_t os_dedup_verify; |
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
91 uint8_t os_logbias; |
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
92 uint8_t os_primary_cache; |
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
93 uint8_t os_secondary_cache; |
12294
2a74b443e6b1
PSARC/2010/108 zil synchronicity
Mark J Musante <Mark.Musante@Sun.COM>
parents:
12178
diff
changeset
|
94 uint8_t os_sync; |
789 | 95 |
96 /* no lock needed: */ | |
97 struct dmu_tx *os_synctx; /* XXX sketchy */ | |
3547
e396e0a440b1
6512391 DMU should leverage ZIO dependencies to achieve greater parallelism
maybee
parents:
2885
diff
changeset
|
98 blkptr_t *os_rootbp; |
7046
361307ae060d
6343667 scrub/resilver has to start over when a snapshot is taken
ahrens
parents:
6492
diff
changeset
|
99 zil_header_t os_zil_header; |
9396
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
100 list_t os_synced_dnodes; |
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
101 uint64_t os_flags; |
789 | 102 |
103 /* Protected by os_obj_lock */ | |
104 kmutex_t os_obj_lock; | |
105 uint64_t os_obj_next; | |
106 | |
107 /* Protected by os_lock */ | |
108 kmutex_t os_lock; | |
109 list_t os_dirty_dnodes[TXG_SIZE]; | |
110 list_t os_free_dnodes[TXG_SIZE]; | |
111 list_t os_dnodes; | |
112 list_t os_downgraded_dbufs; | |
5326
6752aa2bd5bc
6425096 want online 'zfs recv' (read only and read/write)
ek110237
parents:
4944
diff
changeset
|
113 |
6752aa2bd5bc
6425096 want online 'zfs recv' (read only and read/write)
ek110237
parents:
4944
diff
changeset
|
114 /* stuff we store for the user */ |
6752aa2bd5bc
6425096 want online 'zfs recv' (read only and read/write)
ek110237
parents:
4944
diff
changeset
|
115 kmutex_t os_user_ptr_lock; |
6752aa2bd5bc
6425096 want online 'zfs recv' (read only and read/write)
ek110237
parents:
4944
diff
changeset
|
116 void *os_user_ptr; |
11935
538c866aaac6
6716117 ZFS needs native system attribute infrastructure
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM>
parents:
11209
diff
changeset
|
117 |
538c866aaac6
6716117 ZFS needs native system attribute infrastructure
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM>
parents:
11209
diff
changeset
|
118 /* SA layout/attribute registration */ |
538c866aaac6
6716117 ZFS needs native system attribute infrastructure
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM>
parents:
11209
diff
changeset
|
119 sa_os_t *os_sa; |
10298
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
120 }; |
789 | 121 |
10922
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
122 #define DMU_META_OBJSET 0 |
1544 | 123 #define DMU_META_DNODE_OBJECT 0 |
9396
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
124 #define DMU_OBJECT_IS_SPECIAL(obj) ((int64_t)(obj) <= 0) |
12684
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
125 #define DMU_META_DNODE(os) ((os)->os_meta_dnode.dnh_dnode) |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
126 #define DMU_USERUSED_DNODE(os) ((os)->os_userused_dnode.dnh_dnode) |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
127 #define DMU_GROUPUSED_DNODE(os) ((os)->os_groupused_dnode.dnh_dnode) |
789 | 128 |
7237
f47d41541b14
PSARC 2008/393 zfs primarycache and secondarycache properties
ek110237
parents:
7046
diff
changeset
|
129 #define DMU_OS_IS_L2CACHEABLE(os) \ |
f47d41541b14
PSARC 2008/393 zfs primarycache and secondarycache properties
ek110237
parents:
7046
diff
changeset
|
130 ((os)->os_secondary_cache == ZFS_CACHE_ALL || \ |
f47d41541b14
PSARC 2008/393 zfs primarycache and secondarycache properties
ek110237
parents:
7046
diff
changeset
|
131 (os)->os_secondary_cache == ZFS_CACHE_METADATA) |
f47d41541b14
PSARC 2008/393 zfs primarycache and secondarycache properties
ek110237
parents:
7046
diff
changeset
|
132 |
789 | 133 /* called from zpl */ |
10298
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
134 int dmu_objset_hold(const char *name, void *tag, objset_t **osp); |
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
135 int dmu_objset_own(const char *name, dmu_objset_type_t type, |
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
136 boolean_t readonly, void *tag, objset_t **osp); |
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
137 void dmu_objset_rele(objset_t *os, void *tag); |
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
138 void dmu_objset_disown(objset_t *os, void *tag); |
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
139 int dmu_objset_from_ds(struct dsl_dataset *ds, objset_t **osp); |
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
140 |
2885 | 141 void dmu_objset_stats(objset_t *os, nvlist_t *nv); |
142 void dmu_objset_fast_stat(objset_t *os, dmu_objset_stats_t *stat); | |
143 void dmu_objset_space(objset_t *os, uint64_t *refdbytesp, uint64_t *availbytesp, | |
144 uint64_t *usedobjsp, uint64_t *availobjsp); | |
145 uint64_t dmu_objset_fsid_guid(objset_t *os); | |
7046
361307ae060d
6343667 scrub/resilver has to start over when a snapshot is taken
ahrens
parents:
6492
diff
changeset
|
146 int dmu_objset_find_spa(spa_t *spa, const char *name, |
361307ae060d
6343667 scrub/resilver has to start over when a snapshot is taken
ahrens
parents:
6492
diff
changeset
|
147 int func(spa_t *, uint64_t, const char *, void *), void *arg, int flags); |
11209
462283cb4096
6905188 panic: kernel heap corruption when doing "zfs rename -r"
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10922
diff
changeset
|
148 int dmu_objset_prefetch(const char *name, void *arg); |
4944
96d96f8de974
6569719 panic dangling dbufs (dn=ffffffff28814d30, dbuf=ffffffff20756008)
maybee
parents:
4787
diff
changeset
|
149 int dmu_objset_evict_dbufs(objset_t *os); |
10373
bcf97ee54990
6395956 snapshot dir needs real c/mtime
Chris Kirby <chris.kirby@sun.com>
parents:
10310
diff
changeset
|
150 timestruc_t dmu_objset_snap_cmtime(objset_t *os); |
789 | 151 |
152 /* called from dsl */ | |
10298
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
153 void dmu_objset_sync(objset_t *os, zio_t *zio, dmu_tx_t *tx); |
10922
e2081f502306
PSARC 2009/571 ZFS Deduplication Properties
Jeff Bonwick <Jeff.Bonwick@Sun.COM>
parents:
10373
diff
changeset
|
154 boolean_t dmu_objset_is_dirty(objset_t *os, uint64_t txg); |
12722
0cc41f673f9d
6937998 txg_wait_synced() is called when unmounting zfs snapshots
Sanjeev Bagewadi <Sanjeev.Bagewadi@Sun.COM>
parents:
12684
diff
changeset
|
155 boolean_t dmu_objset_is_dirty_anywhere(objset_t *os); |
10298
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
156 objset_t *dmu_objset_create_impl(spa_t *spa, struct dsl_dataset *ds, |
3547
e396e0a440b1
6512391 DMU should leverage ZIO dependencies to achieve greater parallelism
maybee
parents:
2885
diff
changeset
|
157 blkptr_t *bp, dmu_objset_type_t type, dmu_tx_t *tx); |
1544 | 158 int dmu_objset_open_impl(spa_t *spa, struct dsl_dataset *ds, blkptr_t *bp, |
10298
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
159 objset_t **osp); |
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
160 void dmu_objset_evict(objset_t *os); |
11935
538c866aaac6
6716117 ZFS needs native system attribute infrastructure
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM>
parents:
11209
diff
changeset
|
161 void dmu_objset_do_userquota_updates(objset_t *os, dmu_tx_t *tx); |
12178
93ec1371f750
6939983 assertion failed: zap_count(os, DMU_USERUSED_OBJECT, &count) != 0||count == 0, in dsl_dataset.c
Mark Shellenbaum <Mark.Shellenbaum@Sun.COM>
parents:
11935
diff
changeset
|
162 void dmu_objset_userquota_get_ids(dnode_t *dn, boolean_t before, dmu_tx_t *tx); |
10298
a0d52501437c
6860996 %temporary clones are not automatically destroyed on error
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
10272
diff
changeset
|
163 boolean_t dmu_objset_userused_enabled(objset_t *os); |
9396
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
164 int dmu_objset_userspace_upgrade(objset_t *os); |
f41cf682d0d3
PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents:
9355
diff
changeset
|
165 boolean_t dmu_objset_userspace_present(objset_t *os); |
789 | 166 |
12684
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
167 void dmu_objset_init(void); |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
168 void dmu_objset_fini(void); |
397e44ebb8a9
6710343 dnode cache should register a dnode_move() callback to limit fragmentation
Tom Erickson <Tom.Erickson@Sun.COM>
parents:
12296
diff
changeset
|
169 |
789 | 170 #ifdef __cplusplus |
171 } | |
172 #endif | |
173 | |
174 #endif /* _SYS_DMU_OBJSET_H */ |