Print this page
10592 misc. metaslab and vdev related ZoL bug fixes
Portions contributed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Giuseppe Di Natale <guss80@gmail.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: Tony Hutter <hutter2@llnl.gov>
Reviewed by: Kody Kantor <kody.kantor@joyent.com>
Approved by: Dan McDonald <danmcd@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/metaslab.h
          +++ new/usr/src/uts/common/fs/zfs/sys/metaslab.h
↓ open down ↓ 44 lines elided ↑ open up ↑
  45   45  
  46   46  extern metaslab_ops_t *zfs_metaslab_ops;
  47   47  
  48   48  int metaslab_init(metaslab_group_t *, uint64_t, uint64_t, uint64_t,
  49   49      metaslab_t **);
  50   50  void metaslab_fini(metaslab_t *);
  51   51  
  52   52  int metaslab_load(metaslab_t *);
  53   53  void metaslab_unload(metaslab_t *);
  54   54  
       55 +uint64_t metaslab_allocated_space(metaslab_t *);
       56 +
  55   57  void metaslab_sync(metaslab_t *, uint64_t);
  56   58  void metaslab_sync_done(metaslab_t *, uint64_t);
  57   59  void metaslab_sync_reassess(metaslab_group_t *);
  58   60  uint64_t metaslab_block_maxsize(metaslab_t *);
  59   61  
  60   62  /*
  61   63   * metaslab alloc flags
  62   64   */
  63   65  #define METASLAB_HINTBP_FAVOR           0x0
  64   66  #define METASLAB_HINTBP_AVOID           0x1
↓ open down ↓ 43 lines elided ↑ open up ↑
 108  110  void metaslab_group_activate(metaslab_group_t *);
 109  111  void metaslab_group_passivate(metaslab_group_t *);
 110  112  boolean_t metaslab_group_initialized(metaslab_group_t *);
 111  113  uint64_t metaslab_group_get_space(metaslab_group_t *);
 112  114  void metaslab_group_histogram_verify(metaslab_group_t *);
 113  115  uint64_t metaslab_group_fragmentation(metaslab_group_t *);
 114  116  void metaslab_group_histogram_remove(metaslab_group_t *, metaslab_t *);
 115  117  void metaslab_group_alloc_decrement(spa_t *, uint64_t, void *, int, int,
 116  118      boolean_t);
 117  119  void metaslab_group_alloc_verify(spa_t *, const blkptr_t *, void *, int);
      120 +void metaslab_recalculate_weight_and_sort(metaslab_t *);
 118  121  
 119  122  #ifdef  __cplusplus
 120  123  }
 121  124  #endif
 122  125  
 123  126  #endif  /* _SYS_METASLAB_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX