changeset 560:62cb9de73005

objstore: keep track of whether an open obj info is qualified or unqualified This should make debugging a bit easier. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Sat, 17 Nov 2018 22:23:50 -0500
parents 154906b520d5
children 221eebdf3352
files src/objstore/include/nomad/objstore_backend.h src/objstore/obj_ops.c
diffstat 2 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/objstore/include/nomad/objstore_backend.h	Sat Nov 17 22:17:20 2018 -0500
+++ b/src/objstore/include/nomad/objstore_backend.h	Sat Nov 17 22:23:50 2018 -0500
@@ -84,6 +84,7 @@
 struct objstore_open_obj_info {
 	/* constant for the lifetime of this struct */
 	struct obj *obj;
+	bool qualified;
 
 	/* protected by the obj lock */
 	struct objver *ver;
--- a/src/objstore/obj_ops.c	Sat Nov 17 22:17:20 2018 -0500
+++ b/src/objstore/obj_ops.c	Sat Nov 17 22:23:50 2018 -0500
@@ -61,6 +61,7 @@
 			goto err_free;
 
 		open->obj = obj;
+		open->qualified = qualified;
 		open->ver = objver;
 		open->open_count = 0; /* will be incremented below */
 
@@ -125,7 +126,7 @@
 	}
 
 	if (putref && !ret)
-		open->ver->open[open == open->ver->open[1]] = NULL;
+		open->ver->open[open->qualified] = NULL;
 	else if (ret)
 		open->open_count++; /* undo earlier decrement */
 	MXUNLOCK(&obj->lock);