changeset 135:2b39a5cf338b

objstore: allow a vg lookup by name Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Sun, 18 Oct 2015 10:29:36 -0400
parents b1c7d4b13ce2
children 0687dc17a0f5
files src/objstore/include/nomad/objstore.h src/objstore/vg.c
diffstat 2 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/objstore/include/nomad/objstore.h	Sun Oct 18 10:26:30 2015 -0400
+++ b/src/objstore/include/nomad/objstore.h	Sun Oct 18 10:29:36 2015 -0400
@@ -60,6 +60,7 @@
 
 /* volume group management */
 extern struct objstore *objstore_vg_create(const char *name);
+extern struct objstore *objstore_vg_lookup(const char *name);
 
 /* volume management */
 extern struct objstore_vol *objstore_vol_create(struct objstore *vg,
--- a/src/objstore/vg.c	Sun Oct 18 10:26:30 2015 -0400
+++ b/src/objstore/vg.c	Sun Oct 18 10:29:36 2015 -0400
@@ -23,6 +23,7 @@
 #include <stddef.h>
 
 #include <nomad/error.h>
+#include <nomad/iter.h>
 #include <nomad/objstore.h>
 #include <nomad/objstore_impl.h>
 
@@ -77,3 +78,16 @@
 	list_insert_tail(&vg->vols, vol);
 	mxunlock(&vg->lock);
 }
+
+struct objstore *objstore_vg_lookup(const char *name)
+{
+	struct objstore *vg;
+
+	mxlock(&vgs_lock);
+	list_for_each(&vgs, vg)
+		if (!strcmp(name, vg->name))
+			break;
+	mxunlock(&vgs_lock);
+
+	return vg;
+}