summaryrefslogtreecommitdiffstats
path: root/sys/geom/raid/g_raid.h
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2012-10-29 18:04:38 +0000
committermav <mav@FreeBSD.org>2012-10-29 18:04:38 +0000
commita43d540d9efdfd22157e434662f6be55d1437f32 (patch)
tree3057436f0446cd34f89a0161970b65aabfad7947 /sys/geom/raid/g_raid.h
parent76f8fadfa80a4732a2670b0032c3ac3fc89da8c7 (diff)
downloadFreeBSD-src-a43d540d9efdfd22157e434662f6be55d1437f32.zip
FreeBSD-src-a43d540d9efdfd22157e434662f6be55d1437f32.tar.gz
Add basic BIO_DELETE support to GEOM RAID class for all RAID levels.
If at least one subdisk in the volume supports it, BIO_DELETE requests will be propagated down. Unfortunatelly, for RAID levels with redundancy unmapped blocks will be mapped back during first rebuild/resync process. Sponsored by: iXsystems, Inc. MFC after: 1 month
Diffstat (limited to 'sys/geom/raid/g_raid.h')
-rw-r--r--sys/geom/raid/g_raid.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/geom/raid/g_raid.h b/sys/geom/raid/g_raid.h
index 9f13e25..20b0822 100644
--- a/sys/geom/raid/g_raid.h
+++ b/sys/geom/raid/g_raid.h
@@ -153,6 +153,7 @@ struct g_raid_disk {
struct g_consumer *d_consumer; /* GEOM disk consumer. */
void *d_md_data; /* Disk's metadata storage. */
struct g_kerneldump d_kd; /* Kernel dumping method/args. */
+ int d_candelete; /* BIO_DELETE supported. */
uint64_t d_flags; /* Additional flags. */
u_int d_state; /* Disk state. */
u_int d_load; /* Disk average load. */
@@ -418,6 +419,7 @@ struct g_raid_volume * g_raid_create_volume(struct g_raid_softc *sc,
const char *name, int id);
struct g_raid_disk * g_raid_create_disk(struct g_raid_softc *sc);
const char * g_raid_get_diskname(struct g_raid_disk *disk);
+void g_raid_get_disk_info(struct g_raid_disk *disk);
int g_raid_start_volume(struct g_raid_volume *vol);
OpenPOWER on IntegriCloud