43 DTL_SCRUB, /* unable to fully repair during scrub/resilver */
44 DTL_OUTAGE, /* temporarily missing (used to attempt detach) */
45 DTL_TYPES
46 } vdev_dtl_type_t;
47
48 extern boolean_t zfs_nocacheflush;
49
50 extern int vdev_open(vdev_t *);
51 extern void vdev_open_children(vdev_t *);
52 extern boolean_t vdev_uses_zvols(vdev_t *);
53 extern int vdev_validate(vdev_t *, boolean_t);
54 extern void vdev_close(vdev_t *);
55 extern int vdev_create(vdev_t *, uint64_t txg, boolean_t isreplace);
56 extern void vdev_reopen(vdev_t *);
57 extern int vdev_validate_aux(vdev_t *vd);
58 extern zio_t *vdev_probe(vdev_t *vd, zio_t *pio);
59
60 extern boolean_t vdev_is_bootable(vdev_t *vd);
61 extern vdev_t *vdev_lookup_top(spa_t *spa, uint64_t vdev);
62 extern vdev_t *vdev_lookup_by_guid(vdev_t *vd, uint64_t guid);
63 extern void vdev_dtl_dirty(vdev_t *vd, vdev_dtl_type_t d,
64 uint64_t txg, uint64_t size);
65 extern boolean_t vdev_dtl_contains(vdev_t *vd, vdev_dtl_type_t d,
66 uint64_t txg, uint64_t size);
67 extern boolean_t vdev_dtl_empty(vdev_t *vd, vdev_dtl_type_t d);
68 extern void vdev_dtl_reassess(vdev_t *vd, uint64_t txg, uint64_t scrub_txg,
69 int scrub_done);
70 extern boolean_t vdev_dtl_required(vdev_t *vd);
71 extern boolean_t vdev_resilver_needed(vdev_t *vd,
72 uint64_t *minp, uint64_t *maxp);
73
74 extern void vdev_hold(vdev_t *);
75 extern void vdev_rele(vdev_t *);
76
77 extern int vdev_metaslab_init(vdev_t *vd, uint64_t txg);
78 extern void vdev_metaslab_fini(vdev_t *vd);
79 extern void vdev_metaslab_set_size(vdev_t *);
80 extern void vdev_expand(vdev_t *vd, uint64_t txg);
81 extern void vdev_split(vdev_t *vd);
82 extern void vdev_deadman(vdev_t *vd);
|
43 DTL_SCRUB, /* unable to fully repair during scrub/resilver */
44 DTL_OUTAGE, /* temporarily missing (used to attempt detach) */
45 DTL_TYPES
46 } vdev_dtl_type_t;
47
48 extern boolean_t zfs_nocacheflush;
49
50 extern int vdev_open(vdev_t *);
51 extern void vdev_open_children(vdev_t *);
52 extern boolean_t vdev_uses_zvols(vdev_t *);
53 extern int vdev_validate(vdev_t *, boolean_t);
54 extern void vdev_close(vdev_t *);
55 extern int vdev_create(vdev_t *, uint64_t txg, boolean_t isreplace);
56 extern void vdev_reopen(vdev_t *);
57 extern int vdev_validate_aux(vdev_t *vd);
58 extern zio_t *vdev_probe(vdev_t *vd, zio_t *pio);
59
60 extern boolean_t vdev_is_bootable(vdev_t *vd);
61 extern vdev_t *vdev_lookup_top(spa_t *spa, uint64_t vdev);
62 extern vdev_t *vdev_lookup_by_guid(vdev_t *vd, uint64_t guid);
63 extern int vdev_count_leaves(spa_t *spa);
64 extern void vdev_dtl_dirty(vdev_t *vd, vdev_dtl_type_t d,
65 uint64_t txg, uint64_t size);
66 extern boolean_t vdev_dtl_contains(vdev_t *vd, vdev_dtl_type_t d,
67 uint64_t txg, uint64_t size);
68 extern boolean_t vdev_dtl_empty(vdev_t *vd, vdev_dtl_type_t d);
69 extern void vdev_dtl_reassess(vdev_t *vd, uint64_t txg, uint64_t scrub_txg,
70 int scrub_done);
71 extern boolean_t vdev_dtl_required(vdev_t *vd);
72 extern boolean_t vdev_resilver_needed(vdev_t *vd,
73 uint64_t *minp, uint64_t *maxp);
74
75 extern void vdev_hold(vdev_t *);
76 extern void vdev_rele(vdev_t *);
77
78 extern int vdev_metaslab_init(vdev_t *vd, uint64_t txg);
79 extern void vdev_metaslab_fini(vdev_t *vd);
80 extern void vdev_metaslab_set_size(vdev_t *);
81 extern void vdev_expand(vdev_t *vd, uint64_t txg);
82 extern void vdev_split(vdev_t *vd);
83 extern void vdev_deadman(vdev_t *vd);
|