FreeBSD ZFS
The Zettabyte File System
|
Virtual device vector for mirroring. More...
#include <sys/zfs_context.h>
#include <sys/spa.h>
#include <sys/vdev_impl.h>
#include <sys/zio.h>
#include <sys/fs/zfs.h>
Go to the source code of this file.
Virtual device vector for mirroring.
Definition in file vdev_mirror.c.
typedef struct mirror_child mirror_child_t |
typedef struct mirror_map mirror_map_t |
static void vdev_mirror_child_done | ( | zio_t * | zio | ) | [static] |
Definition at line 178 of file vdev_mirror.c.
static int vdev_mirror_child_select | ( | zio_t * | zio | ) | [static] |
Try to find a child whose DTL doesn't contain the block we want to read.
If we can't, try the read on any vdev we haven't already tried.
Definition at line 217 of file vdev_mirror.c.
static void vdev_mirror_close | ( | vdev_t * | vd | ) | [static] |
Definition at line 171 of file vdev_mirror.c.
static void vdev_mirror_io_done | ( | zio_t * | zio | ) | [static] |
Definition at line 334 of file vdev_mirror.c.
static int vdev_mirror_io_start | ( | zio_t * | zio | ) | [static] |
Definition at line 265 of file vdev_mirror.c.
static mirror_map_t* vdev_mirror_map_alloc | ( | zio_t * | zio | ) | [static] |
Definition at line 74 of file vdev_mirror.c.
static void vdev_mirror_map_free | ( | zio_t * | zio | ) | [static] |
Definition at line 61 of file vdev_mirror.c.
static int vdev_mirror_open | ( | vdev_t * | vd, |
uint64_t * | asize, | ||
uint64_t * | max_asize, | ||
uint64_t * | ashift | ||
) | [static] |
Definition at line 135 of file vdev_mirror.c.
static void vdev_mirror_scrub_done | ( | zio_t * | zio | ) | [static] |
Definition at line 188 of file vdev_mirror.c.
static void vdev_mirror_state_change | ( | vdev_t * | vd, |
int | faulted, | ||
int | degraded | ||
) | [static] |
Definition at line 447 of file vdev_mirror.c.
static int vdev_mirror_worst_error | ( | mirror_map_t * | mm | ) | [static] |
Definition at line 320 of file vdev_mirror.c.
{ vdev_mirror_open, vdev_mirror_close, vdev_default_asize, vdev_mirror_io_start, vdev_mirror_io_done, vdev_mirror_state_change, NULL, NULL, VDEV_TYPE_MIRROR, B_FALSE }
Definition at line 458 of file vdev_mirror.c.
int vdev_mirror_shift = 21 |
Definition at line 58 of file vdev_mirror.c.
const zio_vsd_ops_t vdev_mirror_vsd_ops [static] |
Definition at line 68 of file vdev_mirror.c.
{ vdev_mirror_open, vdev_mirror_close, vdev_default_asize, vdev_mirror_io_start, vdev_mirror_io_done, vdev_mirror_state_change, NULL, NULL, VDEV_TYPE_REPLACING, B_FALSE }
Definition at line 471 of file vdev_mirror.c.
{ vdev_mirror_open, vdev_mirror_close, vdev_default_asize, vdev_mirror_io_start, vdev_mirror_io_done, vdev_mirror_state_change, NULL, NULL, VDEV_TYPE_SPARE, B_FALSE }
Definition at line 484 of file vdev_mirror.c.