summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_slice.h
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-09-27 21:37:11 +0000
committerphk <phk@FreeBSD.org>2002-09-27 21:37:11 +0000
commitbd4b8491399a8df6b7aea34dc30845289f3bc0f8 (patch)
tree02c4bf4995be772bfd0fd8a2f45388a5e079ecb5 /sys/geom/geom_slice.h
parent577f8b1e73497700b0f10db6cf84bd6db96cd62c (diff)
downloadFreeBSD-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.h9
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_ */
OpenPOWER on IntegriCloud