aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGordon Tetlow <gordon@FreeBSD.org>2003-02-07 17:50:33 +0000
committerGordon Tetlow <gordon@FreeBSD.org>2003-02-07 17:50:33 +0000
commitddfa3cce05f05796c54d91f3156d285a5e5dc119 (patch)
treeada59b8cddcf5836e1c4244077be8c5c2226e475
parente5952d25fc91b226cd1dc89b5fe30ac91c1ac933 (diff)
downloadsrc-ddfa3cce05f05796c54d91f3156d285a5e5dc119.tar.gz
src-ddfa3cce05f05796c54d91f3156d285a5e5dc119.zip
Add some comments about the deficiencies of this module. I had hoped to get
around to addressing them some more, but Real Life (tm) has gotten in the way.
Notes
Notes: svn path=/head/; revision=110513
-rw-r--r--sys/geom/geom_vol_ffs.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/geom/geom_vol_ffs.c b/sys/geom/geom_vol_ffs.c
index f324aa704367..380656cabf97 100644
--- a/sys/geom/geom_vol_ffs.c
+++ b/sys/geom/geom_vol_ffs.c
@@ -76,6 +76,10 @@ g_vol_ffs_taste(struct g_class *mp, struct g_provider *pp, int flags)
g_trace(G_T_TOPOLOGY, "vol_taste(%s,%s)", mp->name, pp->name);
g_topology_assert();
+ /*
+ * XXX This is a really weak way to make sure we don't recurse.
+ * Probably ought to use BIO_GETATTR to check for this.
+ */
if (flags == G_TF_NORMAL &&
!strcmp(pp->geom->class->name, VOL_FFS_CLASS_NAME))
return (NULL);
@@ -118,6 +122,9 @@ g_vol_ffs_taste(struct g_class *mp, struct g_provider *pp, int flags)
g_free(fs);
continue;
}
+ /* XXX We need to check for namespace conflicts. */
+ /* XXX How do you handle a mirror set? */
+ /* XXX We don't validate the volume name. */
g_topology_lock();
/* Alright, we have a label and a volume name, reconfig. */
g_slice_config(gp, 0, G_SLICE_CONFIG_SET, (off_t) 0,