Kaleb KEITHLEY has uploaded this change for review.

View Change

rados_recov: abort (or not) correctly based on config and shlib

With RADOS_RECOV=YES:

If a rados recovery back end is configured, and the library is present,
just work.

If a back end is configured and the library is not present, abort.

If a back end is not configured, don't load the library and don't
abort.

WRT load_backend(), the nfsd will successfully load the shlib and
resolve the symbols, or abort. Later, when load_backend() is called,
it's safe to assume the pointers are initialized and it's not
necessary to check them before calling them.

With RADOS_RECOV=NO:

Any rados back end in the config is ignored or is an error and no
attempt to dlopen() the shlib is ever attempted.

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Change-Id: I409abc01eca083fb17d9f4d7444219d4fd49882f
---
M src/SAL/nfs4_recovery.c
M src/SAL/recovery/recovery_rados_kv.c
2 files changed, 30 insertions(+), 33 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/79/473479/1

To view, visit change 473479. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I409abc01eca083fb17d9f4d7444219d4fd49882f
Gerrit-Change-Number: 473479
Gerrit-PatchSet: 1
Gerrit-Owner: Kaleb KEITHLEY <kaleb@redhat.com>
Gerrit-MessageType: newchange