summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom.h
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2012-07-07 20:13:40 +0000
committertrasz <trasz@FreeBSD.org>2012-07-07 20:13:40 +0000
commitf2e3e9e07318ddf592e5f29fb5edce4ea8b697c8 (patch)
treec90342a24cb2236a8321bbb21302c93f83933ef8 /sys/geom/geom.h
parent80dc0e94a448f0f3cfe7b699930beab72b1fa2fb (diff)
downloadFreeBSD-src-f2e3e9e07318ddf592e5f29fb5edce4ea8b697c8.zip
FreeBSD-src-f2e3e9e07318ddf592e5f29fb5edce4ea8b697c8.tar.gz
Add a new GEOM method, resize(), which is called after provider size changes.
Add a new routine, g_resize_provider(), to use to notify GEOM about provider change. Reviewed by: mav Sponsored by: FreeBSD Foundation
Diffstat (limited to 'sys/geom/geom.h')
-rw-r--r--sys/geom/geom.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/geom/geom.h b/sys/geom/geom.h
index e85448c..5d97f50 100644
--- a/sys/geom/geom.h
+++ b/sys/geom/geom.h
@@ -79,6 +79,7 @@ typedef void g_attrchanged_t (struct g_consumer *, const char *attr);
typedef void g_provgone_t (struct g_provider *);
typedef void g_dumpconf_t (struct sbuf *, const char *indent, struct g_geom *,
struct g_consumer *, struct g_provider *);
+typedef void g_resize_t(struct g_consumer *cp);
/*
* The g_class structure describes a transformation class. In other words
@@ -108,7 +109,7 @@ struct g_class {
g_orphan_t *orphan;
g_ioctl_t *ioctl;
g_provgone_t *providergone;
- void *spare2;
+ g_resize_t *resize;
/*
* The remaining elements are private
*/
@@ -139,7 +140,7 @@ struct g_geom {
g_orphan_t *orphan;
g_ioctl_t *ioctl;
g_provgone_t *providergone;
- void *spare1;
+ g_resize_t *resize;
void *softc;
unsigned flags;
#define G_GEOM_WITHER 1
@@ -265,6 +266,7 @@ int g_handleattr_str(struct bio *bp, const char *attribute, const char *str);
struct g_consumer * g_new_consumer(struct g_geom *gp);
struct g_geom * g_new_geomf(struct g_class *mp, const char *fmt, ...);
struct g_provider * g_new_providerf(struct g_geom *gp, const char *fmt, ...);
+void g_resize_provider(struct g_provider *pp, off_t size);
int g_retaste(struct g_class *mp);
void g_spoil(struct g_provider *pp, struct g_consumer *cp);
int g_std_access(struct g_provider *pp, int dr, int dw, int de);
OpenPOWER on IntegriCloud