comparison 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
comparison
equal deleted inserted replaced
13742:b6bbdd77139c 13743:95aba6e49b9f
18 * 18 *
19 * CDDL HEADER END 19 * CDDL HEADER END
20 */ 20 */
21 /* 21 /*
22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
23 * Copyright (c) 2012 by Delphix. All rights reserved.
23 */ 24 */
24 25
25 /* Portions Copyright 2010 Robert Milkowski */ 26 /* Portions Copyright 2010 Robert Milkowski */
26 27
27 #ifndef _SYS_DMU_OBJSET_H 28 #ifndef _SYS_DMU_OBJSET_H
135 boolean_t readonly, void *tag, objset_t **osp); 136 boolean_t readonly, void *tag, objset_t **osp);
136 void dmu_objset_rele(objset_t *os, void *tag); 137 void dmu_objset_rele(objset_t *os, void *tag);
137 void dmu_objset_disown(objset_t *os, void *tag); 138 void dmu_objset_disown(objset_t *os, void *tag);
138 int dmu_objset_from_ds(struct dsl_dataset *ds, objset_t **osp); 139 int dmu_objset_from_ds(struct dsl_dataset *ds, objset_t **osp);
139 140
140 int dmu_objset_create(const char *name, dmu_objset_type_t type, uint64_t flags,
141 void (*func)(objset_t *os, void *arg, cred_t *cr, dmu_tx_t *tx), void *arg);
142 int dmu_objset_clone(const char *name, struct dsl_dataset *clone_origin,
143 uint64_t flags);
144 int dmu_objset_destroy(const char *name, boolean_t defer);
145 int dmu_objset_snapshot(char *fsname, char *snapname, char *tag,
146 struct nvlist *props, boolean_t recursive, boolean_t temporary, int fd);
147 void dmu_objset_stats(objset_t *os, nvlist_t *nv); 141 void dmu_objset_stats(objset_t *os, nvlist_t *nv);
148 void dmu_objset_fast_stat(objset_t *os, dmu_objset_stats_t *stat); 142 void dmu_objset_fast_stat(objset_t *os, dmu_objset_stats_t *stat);
149 void dmu_objset_space(objset_t *os, uint64_t *refdbytesp, uint64_t *availbytesp, 143 void dmu_objset_space(objset_t *os, uint64_t *refdbytesp, uint64_t *availbytesp,
150 uint64_t *usedobjsp, uint64_t *availobjsp); 144 uint64_t *usedobjsp, uint64_t *availobjsp);
151 uint64_t dmu_objset_fsid_guid(objset_t *os); 145 uint64_t dmu_objset_fsid_guid(objset_t *os);
152 int dmu_objset_find(char *name, int func(const char *, void *), void *arg,
153 int flags);
154 int dmu_objset_find_spa(spa_t *spa, const char *name, 146 int dmu_objset_find_spa(spa_t *spa, const char *name,
155 int func(spa_t *, uint64_t, const char *, void *), void *arg, int flags); 147 int func(spa_t *, uint64_t, const char *, void *), void *arg, int flags);
156 int dmu_objset_prefetch(const char *name, void *arg); 148 int dmu_objset_prefetch(const char *name, void *arg);
157 void dmu_objset_byteswap(void *buf, size_t size);
158 int dmu_objset_evict_dbufs(objset_t *os); 149 int dmu_objset_evict_dbufs(objset_t *os);
159 timestruc_t dmu_objset_snap_cmtime(objset_t *os); 150 timestruc_t dmu_objset_snap_cmtime(objset_t *os);
160 151
161 /* called from dsl */ 152 /* called from dsl */
162 void dmu_objset_sync(objset_t *os, zio_t *zio, dmu_tx_t *tx); 153 void dmu_objset_sync(objset_t *os, zio_t *zio, dmu_tx_t *tx);