Print this page
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>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/dmu_objset.h
          +++ new/usr/src/uts/common/fs/zfs/sys/dmu_objset.h
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   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   26  /* Portions Copyright 2010 Robert Milkowski */
  26   27  
  27   28  #ifndef _SYS_DMU_OBJSET_H
  28   29  #define _SYS_DMU_OBJSET_H
  29   30  
  30   31  #include <sys/spa.h>
  31   32  #include <sys/arc.h>
  32   33  #include <sys/txg.h>
↓ open down ↓ 97 lines elided ↑ open up ↑
 130  131          (os)->os_secondary_cache == ZFS_CACHE_METADATA)
 131  132  
 132  133  /* called from zpl */
 133  134  int dmu_objset_hold(const char *name, void *tag, objset_t **osp);
 134  135  int dmu_objset_own(const char *name, dmu_objset_type_t type,
 135  136      boolean_t readonly, void *tag, objset_t **osp);
 136  137  void dmu_objset_rele(objset_t *os, void *tag);
 137  138  void dmu_objset_disown(objset_t *os, void *tag);
 138  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  141  void dmu_objset_stats(objset_t *os, nvlist_t *nv);
 148  142  void dmu_objset_fast_stat(objset_t *os, dmu_objset_stats_t *stat);
 149  143  void dmu_objset_space(objset_t *os, uint64_t *refdbytesp, uint64_t *availbytesp,
 150  144      uint64_t *usedobjsp, uint64_t *availobjsp);
 151  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  146  int dmu_objset_find_spa(spa_t *spa, const char *name,
 155  147      int func(spa_t *, uint64_t, const char *, void *), void *arg, int flags);
 156  148  int dmu_objset_prefetch(const char *name, void *arg);
 157      -void dmu_objset_byteswap(void *buf, size_t size);
 158  149  int dmu_objset_evict_dbufs(objset_t *os);
 159  150  timestruc_t dmu_objset_snap_cmtime(objset_t *os);
 160  151  
 161  152  /* called from dsl */
 162  153  void dmu_objset_sync(objset_t *os, zio_t *zio, dmu_tx_t *tx);
 163  154  boolean_t dmu_objset_is_dirty(objset_t *os, uint64_t txg);
 164  155  boolean_t dmu_objset_is_dirty_anywhere(objset_t *os);
 165  156  objset_t *dmu_objset_create_impl(spa_t *spa, struct dsl_dataset *ds,
 166  157      blkptr_t *bp, dmu_objset_type_t type, dmu_tx_t *tx);
 167  158  int dmu_objset_open_impl(spa_t *spa, struct dsl_dataset *ds, blkptr_t *bp,
↓ open down ↓ 16 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX