Print this page
expandable RAID-Z

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/vdev_impl.h
          +++ new/usr/src/uts/common/fs/zfs/sys/vdev_impl.h
↓ open down ↓ 56 lines elided ↑ open up ↑
  57   57  
  58   58  /*
  59   59   * Virtual device operations
  60   60   */
  61   61  typedef int     vdev_open_func_t(vdev_t *vd, uint64_t *size, uint64_t *ashift);
  62   62  typedef void    vdev_close_func_t(vdev_t *vd);
  63   63  typedef int     vdev_probe_func_t(vdev_t *vd);
  64   64  typedef uint64_t vdev_asize_func_t(vdev_t *vd, uint64_t psize);
  65   65  typedef int     vdev_io_start_func_t(zio_t *zio);
  66   66  typedef int     vdev_io_done_func_t(zio_t *zio);
  67      -typedef void    vdev_state_change_func_t(vdev_t *vd, int, int);
       67 +typedef void    vdev_state_change_func_t(vdev_t *vd, int fauled, int degraded);
       68 +typedef uint8_t vdev_grid_func_t(vdev_t *vd);
  68   69  
  69   70  typedef struct vdev_ops {
  70   71          vdev_open_func_t                *vdev_op_open;
  71   72          vdev_close_func_t               *vdev_op_close;
  72   73          vdev_probe_func_t               *vdev_op_probe;
  73   74          vdev_asize_func_t               *vdev_op_asize;
  74   75          vdev_io_start_func_t            *vdev_op_io_start;
  75   76          vdev_io_done_func_t             *vdev_op_io_done;
  76   77          vdev_state_change_func_t        *vdev_op_state_change;
       78 +        vdev_grid_func_t                *vdev_op_grid;
  77   79          char                            vdev_op_type[16];
  78   80          boolean_t                       vdev_op_leaf;
  79   81  } vdev_ops_t;
  80   82  
  81   83  /*
  82   84   * Virtual device properties
  83   85   */
  84   86  struct vdev_cache_entry {
  85   87          char            *ve_data;
  86   88          uint64_t        ve_offset;
↓ open down ↓ 220 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX