usr/src/uts/common/fs/zfs/sys/dmu_objset.h
changeset 11935 538c866aaac6
parent 11209 462283cb4096
child 12178 93ec1371f750
equal deleted inserted replaced
11934:fdae577692c4 11935:538c866aaac6
    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