summaryrefslogtreecommitdiffstats
path: root/fs/pstore/platform.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2011-11-18 22:49:00 +0100
committerTony Luck <tony.luck@intel.com>2011-11-18 22:49:00 +0100
commit2174f6df7891fa331800beb72634c969f017900b (patch)
treef9253298863844903b0ed76c7e9ae1f663b1a9d3 /fs/pstore/platform.c
parentpstore: pass reason to backend write callback (diff)
downloadlinux-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.c6
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);