diff options
author | phk <phk@FreeBSD.org> | 2002-09-27 21:37:11 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-09-27 21:37:11 +0000 |
commit | bd4b8491399a8df6b7aea34dc30845289f3bc0f8 (patch) | |
tree | 02c4bf4995be772bfd0fd8a2f45388a5e079ecb5 /sys/geom/geom_slice.h | |
parent | 577f8b1e73497700b0f10db6cf84bd6db96cd62c (diff) | |
download | FreeBSD-src-bd4b8491399a8df6b7aea34dc30845289f3bc0f8.zip FreeBSD-src-bd4b8491399a8df6b7aea34dc30845289f3bc0f8.tar.gz |
Add the new g_slice_config() call, which can add/delete/change a slice,
with support for trying, doing and forcing.
This will eventually replace g_slice_addslice() which gets changed from
grabbing topology to requing it in this commit as well.
Sponsored by: DARPA & NAI Labs.
Diffstat (limited to 'sys/geom/geom_slice.h')
-rw-r--r-- | sys/geom/geom_slice.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/geom/geom_slice.h b/sys/geom/geom_slice.h index 261adf5..8a1a27f 100644 --- a/sys/geom/geom_slice.h +++ b/sys/geom/geom_slice.h @@ -35,6 +35,9 @@ * $FreeBSD$ */ +#ifndef _GEOM_GEOM_SLICE_H_ +#define _GEOM_GEOM_SLICE_H_ + struct g_slice { off_t offset; off_t length; @@ -45,6 +48,7 @@ typedef int g_slice_start_t (struct bio *bp); struct g_slicer { int nslice; + int nprovider; off_t cfrontstuff; off_t frontstuff; struct g_slice *slices; @@ -54,5 +58,10 @@ struct g_slicer { g_dumpconf_t g_slice_dumpconf; struct g_provider * g_slice_addslice(struct g_geom *gp, int index, off_t offset, off_t length, char *fmt, ...); +int g_slice_config(struct g_geom *gp, int index, int how, off_t offset, off_t length, char *fmt, ...); +#define G_SLICE_CONFIG_CHECK 0 +#define G_SLICE_CONFIG_SET 1 +#define G_SLICE_CONFIG_FORCE 2 struct g_geom * g_slice_new(struct g_class *mp, int slices, struct g_provider *pp, struct g_consumer **cpp, void *extrap, int extra, g_slice_start_t *start); +#endif /* _GEOM_GEOM_SLICE_H_ */ |