diff options
author | Kees Cook <keescook@chromium.org> | 2011-11-18 22:49:00 +0100 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2011-11-18 22:49:00 +0100 |
commit | 2174f6df7891fa331800beb72634c969f017900b (patch) | |
tree | f9253298863844903b0ed76c7e9ae1f663b1a9d3 /fs/pstore/platform.c | |
parent | pstore: pass reason to backend write callback (diff) | |
download | linux-2174f6df7891fa331800beb72634c969f017900b.tar.xz linux-2174f6df7891fa331800beb72634c969f017900b.zip |
pstore: gracefully handle NULL pstore_info functions
If a pstore backend doesn't want to support various portions of the
pstore interface, it can just leave those functions NULL instead of
creating no-op stubs.
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'fs/pstore/platform.c')
-rw-r--r-- | fs/pstore/platform.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index f146d89179bf..9ec22d3b4293 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -207,8 +207,7 @@ void pstore_get_records(int quiet) return; mutex_lock(&psi->read_mutex); - rc = psi->open(psi); - if (rc) + if (psi->open && psi->open(psi)) goto out; while ((size = psi->read(&id, &type, &time, &buf, psi)) > 0) { @@ -219,7 +218,8 @@ void pstore_get_records(int quiet) if (rc && (rc != -EEXIST || !quiet)) failed++; } - psi->close(psi); + if (psi->close) + psi->close(psi); out: mutex_unlock(&psi->read_mutex); |