| 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
 1.7.3