|
FreeBSD ZFS
The Zettabyte File System
|
Virtual device vector for GEOM. More...
#include <sys/zfs_context.h>#include <sys/param.h>#include <sys/kernel.h>#include <sys/bio.h>#include <sys/disk.h>#include <sys/spa.h>#include <sys/spa_impl.h>#include <sys/vdev_impl.h>#include <sys/fs/zfs.h>#include <sys/zio.h>#include <geom/geom.h>#include <geom/geom_int.h>
Go to the source code of this file.
Functions | |
| DECLARE_GEOM_CLASS (zfs_vdev_class, zfs_vdev) | |
| SYSCTL_DECL (_vfs_zfs_vdev) | |
| TUNABLE_INT ("vfs.zfs.vdev.bio_flush_disable",&vdev_geom_bio_flush_disable) | |
| SYSCTL_INT (_vfs_zfs_vdev, OID_AUTO, bio_flush_disable, CTLFLAG_RW,&vdev_geom_bio_flush_disable, 0,"Disable BIO_FLUSH") | |
| TUNABLE_INT ("vfs.zfs.vdev.bio_delete_disable",&vdev_geom_bio_delete_disable) | |
| SYSCTL_INT (_vfs_zfs_vdev, OID_AUTO, bio_delete_disable, CTLFLAG_RW,&vdev_geom_bio_delete_disable, 0,"Disable BIO_DELETE") | |
| static void | vdev_geom_orphan (struct g_consumer *cp) |
| static void | vdev_geom_attrchanged (struct g_consumer *cp, const char *attr) |
| static struct g_consumer * | vdev_geom_attach (struct g_provider *pp, vdev_t *vd) |
| static void | vdev_geom_close_locked (vdev_t *vd) |
| static void | nvlist_get_guids (nvlist_t *list, uint64_t *pguid, uint64_t *vguid) |
| static int | vdev_geom_io (struct g_consumer *cp, int cmd, void *data, off_t offset, off_t size) |
| static int | vdev_geom_read_config (struct g_consumer *cp, nvlist_t **config) |
| static int | vdev_geom_check_config (nvlist_t *config, const char *name, uint64_t *best_txg) |
| static int | vdev_geom_attach_taster (struct g_consumer *cp, struct g_provider *pp) |
| static void | vdev_geom_detach_taster (struct g_consumer *cp) |
| static void | vdev_geom_taste_orphan (struct g_consumer *cp) |
| int | vdev_geom_read_pool_label (const char *name, nvlist_t **config) |
| static void | vdev_geom_read_guids (struct g_consumer *cp, uint64_t *pguid, uint64_t *vguid) |
| static struct g_consumer * | vdev_geom_attach_by_guids (vdev_t *vd) |
| static struct g_consumer * | vdev_geom_open_by_guids (vdev_t *vd) |
| static struct g_consumer * | vdev_geom_open_by_path (vdev_t *vd, int check_guid) |
| static int | vdev_geom_open (vdev_t *vd, uint64_t *psize, uint64_t *max_psize, uint64_t *ashift) |
| static void | vdev_geom_close (vdev_t *vd) |
| static void | vdev_geom_io_intr (struct bio *bp) |
| static int | vdev_geom_io_start (zio_t *zio) |
| static void | vdev_geom_io_done (zio_t *zio) |
| static void | vdev_geom_hold (vdev_t *vd) |
| static void | vdev_geom_rele (vdev_t *vd) |
Variables | |
| struct g_class | zfs_vdev_class |
| static int | vdev_geom_bio_flush_disable = 0 |
| Don't send BIO_FLUSH. | |
| static int | vdev_geom_bio_delete_disable = 0 |
| Don't send BIO_DELETE. | |
| vdev_ops_t | vdev_geom_ops |
| Vector table for the vdev_geom module. | |
Virtual device vector for GEOM.
Creates a GEOM class to represent vdevs.
Definition in file vdev_geom.c.
| DECLARE_GEOM_CLASS | ( | zfs_vdev_class | , |
| zfs_vdev | |||
| ) |
| static void nvlist_get_guids | ( | nvlist_t * | list, |
| uint64_t * | pguid, | ||
| uint64_t * | vguid | ||
| ) | [static] |
Definition at line 275 of file vdev_geom.c.
| SYSCTL_DECL | ( | _vfs_zfs_vdev | ) |
| SYSCTL_INT | ( | _vfs_zfs_vdev | , |
| OID_AUTO | , | ||
| bio_flush_disable | , | ||
| CTLFLAG_RW | , | ||
| & | vdev_geom_bio_flush_disable, | ||
| 0 | , | ||
| "Disable BIO_FLUSH" | |||
| ) |
| SYSCTL_INT | ( | _vfs_zfs_vdev | , |
| OID_AUTO | , | ||
| bio_delete_disable | , | ||
| CTLFLAG_RW | , | ||
| & | vdev_geom_bio_delete_disable, | ||
| 0 | , | ||
| "Disable BIO_DELETE" | |||
| ) |
| TUNABLE_INT | ( | "vfs.zfs.vdev.bio_delete_disable" | , |
| & | vdev_geom_bio_delete_disable | ||
| ) |
| TUNABLE_INT | ( | "vfs.zfs.vdev.bio_flush_disable" | , |
| & | vdev_geom_bio_flush_disable | ||
| ) |
| static struct g_consumer* vdev_geom_attach | ( | struct g_provider * | pp, |
| vdev_t * | vd | ||
| ) | [static, read] |
Definition at line 165 of file vdev_geom.c.
| static struct g_consumer* vdev_geom_attach_by_guids | ( | vdev_t * | vd | ) | [static, read] |
Definition at line 522 of file vdev_geom.c.
| static int vdev_geom_attach_taster | ( | struct g_consumer * | cp, |
| struct g_provider * | pp | ||
| ) | [static] |
Definition at line 417 of file vdev_geom.c.
| static void vdev_geom_attrchanged | ( | struct g_consumer * | cp, |
| const char * | attr | ||
| ) | [static] |
Definition at line 112 of file vdev_geom.c.
| static int vdev_geom_check_config | ( | nvlist_t * | config, |
| const char * | name, | ||
| uint64_t * | best_txg | ||
| ) | [static] |
Definition at line 394 of file vdev_geom.c.
| static void vdev_geom_close | ( | vdev_t * | vd | ) | [static] |
Definition at line 763 of file vdev_geom.c.
| static void vdev_geom_close_locked | ( | vdev_t * | vd | ) | [static] |
Definition at line 240 of file vdev_geom.c.
| static void vdev_geom_detach_taster | ( | struct g_consumer * | cp | ) | [static] |
Definition at line 433 of file vdev_geom.c.
| static void vdev_geom_hold | ( | vdev_t * | vd | ) | [static] |
Definition at line 910 of file vdev_geom.c.
| static int vdev_geom_io | ( | struct g_consumer * | cp, |
| int | cmd, | ||
| void * | data, | ||
| off_t | offset, | ||
| off_t | size | ||
| ) | [static] |
Definition at line 297 of file vdev_geom.c.
| static void vdev_geom_io_done | ( | zio_t * | zio | ) | [static] |
Definition at line 905 of file vdev_geom.c.
| static void vdev_geom_io_intr | ( | struct bio * | bp | ) | [static] |
Definition at line 771 of file vdev_geom.c.
| static int vdev_geom_io_start | ( | zio_t * | zio | ) | [static] |
Definition at line 824 of file vdev_geom.c.
| static int vdev_geom_open | ( | vdev_t * | vd, |
| uint64_t * | psize, | ||
| uint64_t * | max_psize, | ||
| uint64_t * | ashift | ||
| ) | [static] |
Definition at line 649 of file vdev_geom.c.
| static struct g_consumer* vdev_geom_open_by_guids | ( | vdev_t * | vd | ) | [static, read] |
Definition at line 576 of file vdev_geom.c.
| static struct g_consumer* vdev_geom_open_by_path | ( | vdev_t * | vd, |
| int | check_guid | ||
| ) | [static, read] |
Definition at line 608 of file vdev_geom.c.
| static void vdev_geom_orphan | ( | struct g_consumer * | cp | ) | [static] |
Definition at line 80 of file vdev_geom.c.
| static int vdev_geom_read_config | ( | struct g_consumer * | cp, |
| nvlist_t ** | config | ||
| ) | [static] |
Definition at line 332 of file vdev_geom.c.
| static void vdev_geom_read_guids | ( | struct g_consumer * | cp, |
| uint64_t * | pguid, | ||
| uint64_t * | vguid | ||
| ) | [static] |
Definition at line 507 of file vdev_geom.c.
| int vdev_geom_read_pool_label | ( | const char * | name, |
| nvlist_t ** | config | ||
| ) |
Definition at line 448 of file vdev_geom.c.
| static void vdev_geom_rele | ( | vdev_t * | vd | ) | [static] |
Definition at line 915 of file vdev_geom.c.
| static void vdev_geom_taste_orphan | ( | struct g_consumer * | cp | ) | [static] |
Definition at line 440 of file vdev_geom.c.
{
vdev_geom_open,
vdev_geom_close,
vdev_default_asize,
vdev_geom_io_start,
vdev_geom_io_done,
NULL,
vdev_geom_hold,
vdev_geom_rele,
VDEV_TYPE_DISK,
B_TRUE
}
Vector table for the vdev_geom module.
This is the only entry point for vdev_geom
Definition at line 923 of file vdev_geom.c.
| struct g_class zfs_vdev_class |
{
.name = "ZFS::VDEV",
.version = G_VERSION,
}
Definition at line 48 of file vdev_geom.c.
1.7.3