summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_vol_ffs.c
diff options
context:
space:
mode:
authorgordon <gordon@FreeBSD.org>2003-02-07 17:50:33 +0000
committergordon <gordon@FreeBSD.org>2003-02-07 17:50:33 +0000
commit56209777d74d72e6aa5399056570bc5511a0750a (patch)
treeada59b8cddcf5836e1c4244077be8c5c2226e475 /sys/geom/geom_vol_ffs.c
parent3e15166d6ecd6834398262aee6b34235019f81bb (diff)
downloadFreeBSD-src-56209777d74d72e6aa5399056570bc5511a0750a.zip
FreeBSD-src-56209777d74d72e6aa5399056570bc5511a0750a.tar.gz
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.
Diffstat (limited to 'sys/geom/geom_vol_ffs.c')
-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 f324aa7..380656c 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,
OpenPOWER on IntegriCloud