equal
deleted
inserted
replaced
17 * information: Portions Copyright [yyyy] [name of copyright owner] |
17 * information: Portions Copyright [yyyy] [name of copyright owner] |
18 * |
18 * |
19 * CDDL HEADER END |
19 * CDDL HEADER END |
20 */ |
20 */ |
21 /* |
21 /* |
22 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. |
22 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. |
23 * Use is subject to license terms. |
23 * Use is subject to license terms. |
24 */ |
24 */ |
25 |
25 |
26 #ifndef _SYS_DMU_OBJSET_H |
26 #ifndef _SYS_DMU_OBJSET_H |
27 #define _SYS_DMU_OBJSET_H |
27 #define _SYS_DMU_OBJSET_H |
31 #include <sys/txg.h> |
31 #include <sys/txg.h> |
32 #include <sys/zfs_context.h> |
32 #include <sys/zfs_context.h> |
33 #include <sys/dnode.h> |
33 #include <sys/dnode.h> |
34 #include <sys/zio.h> |
34 #include <sys/zio.h> |
35 #include <sys/zil.h> |
35 #include <sys/zil.h> |
|
36 #include <sys/sa.h> |
36 |
37 |
37 #ifdef __cplusplus |
38 #ifdef __cplusplus |
38 extern "C" { |
39 extern "C" { |
39 #endif |
40 #endif |
40 |
41 |
97 list_t os_downgraded_dbufs; |
98 list_t os_downgraded_dbufs; |
98 |
99 |
99 /* stuff we store for the user */ |
100 /* stuff we store for the user */ |
100 kmutex_t os_user_ptr_lock; |
101 kmutex_t os_user_ptr_lock; |
101 void *os_user_ptr; |
102 void *os_user_ptr; |
|
103 |
|
104 /* SA layout/attribute registration */ |
|
105 sa_os_t *os_sa; |
102 }; |
106 }; |
103 |
107 |
104 #define DMU_META_OBJSET 0 |
108 #define DMU_META_OBJSET 0 |
105 #define DMU_META_DNODE_OBJECT 0 |
109 #define DMU_META_DNODE_OBJECT 0 |
106 #define DMU_OBJECT_IS_SPECIAL(obj) ((int64_t)(obj) <= 0) |
110 #define DMU_OBJECT_IS_SPECIAL(obj) ((int64_t)(obj) <= 0) |
144 objset_t *dmu_objset_create_impl(spa_t *spa, struct dsl_dataset *ds, |
148 objset_t *dmu_objset_create_impl(spa_t *spa, struct dsl_dataset *ds, |
145 blkptr_t *bp, dmu_objset_type_t type, dmu_tx_t *tx); |
149 blkptr_t *bp, dmu_objset_type_t type, dmu_tx_t *tx); |
146 int dmu_objset_open_impl(spa_t *spa, struct dsl_dataset *ds, blkptr_t *bp, |
150 int dmu_objset_open_impl(spa_t *spa, struct dsl_dataset *ds, blkptr_t *bp, |
147 objset_t **osp); |
151 objset_t **osp); |
148 void dmu_objset_evict(objset_t *os); |
152 void dmu_objset_evict(objset_t *os); |
149 void dmu_objset_do_userquota_callbacks(objset_t *os, dmu_tx_t *tx); |
153 void dmu_objset_do_userquota_updates(objset_t *os, dmu_tx_t *tx); |
|
154 void dmu_objset_userquota_get_ids(dnode_t *dn, boolean_t before); |
150 boolean_t dmu_objset_userused_enabled(objset_t *os); |
155 boolean_t dmu_objset_userused_enabled(objset_t *os); |
151 int dmu_objset_userspace_upgrade(objset_t *os); |
156 int dmu_objset_userspace_upgrade(objset_t *os); |
152 boolean_t dmu_objset_userspace_present(objset_t *os); |
157 boolean_t dmu_objset_userspace_present(objset_t *os); |
153 |
158 |
154 #ifdef __cplusplus |
159 #ifdef __cplusplus |