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/rrwlock.h
          +++ new/usr/src/uts/common/fs/zfs/sys/rrwlock.h
↓ open down ↓ 14 lines elided ↑ open up ↑
  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 2007 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
       25 +/*
       26 + * Copyright (c) 2012 by Delphix. All rights reserved.
       27 + */
  25   28  
  26   29  #ifndef _SYS_RR_RW_LOCK_H
  27   30  #define _SYS_RR_RW_LOCK_H
  28   31  
  29      -#pragma ident   "%Z%%M% %I%     %E% SMI"
  30      -
  31   32  #ifdef  __cplusplus
  32   33  extern "C" {
  33   34  #endif
  34   35  
  35   36  #include <sys/inttypes.h>
  36   37  #include <sys/zfs_context.h>
  37   38  #include <sys/refcount.h>
  38   39  
  39   40  /*
  40   41   * A reader-writer lock implementation that allows re-entrant reads, but
↓ open down ↓ 21 lines elided ↑ open up ↑
  62   63  /*
  63   64   * 'tag' is used in reference counting tracking.  The
  64   65   * 'tag' must be the same in a rrw_enter() as in its
  65   66   * corresponding rrw_exit().
  66   67   */
  67   68  void rrw_init(rrwlock_t *rrl);
  68   69  void rrw_destroy(rrwlock_t *rrl);
  69   70  void rrw_enter(rrwlock_t *rrl, krw_t rw, void *tag);
  70   71  void rrw_exit(rrwlock_t *rrl, void *tag);
  71   72  boolean_t rrw_held(rrwlock_t *rrl, krw_t rw);
       73 +void rrw_tsd_destroy(void *arg);
  72   74  
  73   75  #define RRW_READ_HELD(x)        rrw_held(x, RW_READER)
  74   76  #define RRW_WRITE_HELD(x)       rrw_held(x, RW_WRITER)
  75   77  
  76   78  #ifdef  __cplusplus
  77   79  }
  78   80  #endif
  79   81  
  80   82  #endif  /* _SYS_RR_RW_LOCK_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX