Print this page
4374 dn_free_ranges should use range_tree_t
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Max Grossman <max.grossman@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com
Reviewed by: Garrett D'Amore <garrett@damore.org>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Dan McDonald <danmcd@omniti.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/range_tree.h
          +++ new/usr/src/uts/common/fs/zfs/sys/range_tree.h
↓ open down ↓ 16 lines elided ↑ open up ↑
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
  25   25  
  26   26  /*
  27      - * Copyright (c) 2013 by Delphix. All rights reserved.
       27 + * Copyright (c) 2013, 2014 by Delphix. All rights reserved.
  28   28   */
  29   29  
  30   30  #ifndef _SYS_RANGE_TREE_H
  31   31  #define _SYS_RANGE_TREE_H
  32   32  
  33   33  #include <sys/avl.h>
  34   34  #include <sys/dmu.h>
  35   35  
  36   36  #ifdef  __cplusplus
  37   37  extern "C" {
↓ open down ↓ 40 lines elided ↑ open up ↑
  78   78  range_tree_t *range_tree_create(range_tree_ops_t *ops, void *arg, kmutex_t *lp);
  79   79  void range_tree_destroy(range_tree_t *rt);
  80   80  boolean_t range_tree_contains(range_tree_t *rt, uint64_t start, uint64_t size);
  81   81  uint64_t range_tree_space(range_tree_t *rt);
  82   82  void range_tree_verify(range_tree_t *rt, uint64_t start, uint64_t size);
  83   83  void range_tree_swap(range_tree_t **rtsrc, range_tree_t **rtdst);
  84   84  void range_tree_stat_verify(range_tree_t *rt);
  85   85  
  86   86  void range_tree_add(void *arg, uint64_t start, uint64_t size);
  87   87  void range_tree_remove(void *arg, uint64_t start, uint64_t size);
       88 +void range_tree_clear(range_tree_t *rt, uint64_t start, uint64_t size);
  88   89  
  89   90  void range_tree_vacate(range_tree_t *rt, range_tree_func_t *func, void *arg);
  90   91  void range_tree_walk(range_tree_t *rt, range_tree_func_t *func, void *arg);
  91   92  
  92   93  #ifdef  __cplusplus
  93   94  }
  94   95  #endif
  95   96  
  96   97  #endif  /* _SYS_RANGE_TREE_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX