Print this page
5812 assertion failed in zrl_tryenter(): zr_owner==NULL
Reviewed by: George Wilson <george@delphix.com>
Reviewed by: Alex Reece <alex@delphix.com>
Reviewed by: Will Andrews <will@freebsd.org>
Approved by: Gordon Ross <gwr@nexenta.com>
5810 zdb should print details of bpobj
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Alex Reece <alex@delphix.com>
Reviewed by: George Wilson <george@delphix.com>
Reviewed by: Will Andrews <will@freebsd.org>
Reviewed by: Simon Klinkert <simon.klinkert@gmail.com>
Approved by: Gordon Ross <gwr@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/bpobj.h
          +++ new/usr/src/uts/common/fs/zfs/sys/bpobj.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) 2010, Oracle and/or its affiliates. All rights reserved.
  23      - * Copyright (c) 2012, 2015 by Delphix. All rights reserved.
       23 + * Copyright (c) 2012, 2014 by Delphix. All rights reserved.
  24   24   */
  25   25  
  26   26  #ifndef _SYS_BPOBJ_H
  27   27  #define _SYS_BPOBJ_H
  28   28  
  29   29  #include <sys/dmu.h>
  30   30  #include <sys/spa.h>
  31   31  #include <sys/txg.h>
  32   32  #include <sys/zio.h>
  33   33  #include <sys/zfs_context.h>
↓ open down ↓ 33 lines elided ↑ open up ↑
  67   67  
  68   68  typedef int bpobj_itor_t(void *arg, const blkptr_t *bp, dmu_tx_t *tx);
  69   69  
  70   70  uint64_t bpobj_alloc(objset_t *mos, int blocksize, dmu_tx_t *tx);
  71   71  uint64_t bpobj_alloc_empty(objset_t *os, int blocksize, dmu_tx_t *tx);
  72   72  void bpobj_free(objset_t *os, uint64_t obj, dmu_tx_t *tx);
  73   73  void bpobj_decr_empty(objset_t *os, dmu_tx_t *tx);
  74   74  
  75   75  int bpobj_open(bpobj_t *bpo, objset_t *mos, uint64_t object);
  76   76  void bpobj_close(bpobj_t *bpo);
  77      -boolean_t bpobj_is_open(const bpobj_t *bpo);
  78   77  
  79   78  int bpobj_iterate(bpobj_t *bpo, bpobj_itor_t func, void *arg, dmu_tx_t *tx);
  80   79  int bpobj_iterate_nofree(bpobj_t *bpo, bpobj_itor_t func, void *, dmu_tx_t *);
  81   80  
  82   81  void bpobj_enqueue_subobj(bpobj_t *bpo, uint64_t subobj, dmu_tx_t *tx);
  83   82  void bpobj_enqueue(bpobj_t *bpo, const blkptr_t *bp, dmu_tx_t *tx);
  84   83  
  85   84  int bpobj_space(bpobj_t *bpo,
  86   85      uint64_t *usedp, uint64_t *compp, uint64_t *uncompp);
  87   86  int bpobj_space_range(bpobj_t *bpo, uint64_t mintxg, uint64_t maxtxg,
  88   87      uint64_t *usedp, uint64_t *compp, uint64_t *uncompp);
  89      -boolean_t bpobj_is_empty(bpobj_t *bpo);
  90   88  
  91   89  #ifdef  __cplusplus
  92   90  }
  93   91  #endif
  94   92  
  95   93  #endif /* _SYS_BPOBJ_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX