Mercurial > nomad
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);