aboutsummaryrefslogtreecommitdiffstats
path: root/fs/pstore
diff options
context:
space:
mode:
authorAruna Balakrishnaiah <aruna@linux.vnet.ibm.com>2013-08-16 16:53:19 -0400
committerTony Luck <tony.luck@intel.com>2013-08-19 13:18:11 -0400
commit9a4e1398208d147a9240731a1f8cfe7d8cc4c553 (patch)
tree61b16758244f641d861839887b19d5a0a144223a /fs/pstore
parentb0aad7a99c1df90c23ff4bac76eea9cf25049e9e (diff)
pstore: Introduce new argument 'compressed' in the read callback
Backends will set the flag 'compressed' after reading the log from persistent store to indicate the data being returned to pstore is compressed or not. Signed-off-by: Aruna Balakrishnaiah <aruna@linux.vnet.ibm.com> Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'fs/pstore')
-rw-r--r--fs/pstore/platform.c4
-rw-r--r--fs/pstore/ram.c3
2 files changed, 5 insertions, 2 deletions
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index 56218cb35267..6418eb77d64b 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -428,6 +428,7 @@ void pstore_get_records(int quiet)
428 enum pstore_type_id type; 428 enum pstore_type_id type;
429 struct timespec time; 429 struct timespec time;
430 int failed = 0, rc; 430 int failed = 0, rc;
431 bool compressed;
431 432
432 if (!psi) 433 if (!psi)
433 return; 434 return;
@@ -436,7 +437,8 @@ void pstore_get_records(int quiet)
436 if (psi->open && psi->open(psi)) 437 if (psi->open && psi->open(psi))
437 goto out; 438 goto out;
438 439
439 while ((size = psi->read(&id, &type, &count, &time, &buf, psi)) > 0) { 440 while ((size = psi->read(&id, &type, &count, &time, &buf, &compressed,
441 psi)) > 0) {
440 rc = pstore_mkfile(type, psi->name, id, count, buf, 442 rc = pstore_mkfile(type, psi->name, id, count, buf,
441 (size_t)size, time, psi); 443 (size_t)size, time, psi);
442 kfree(buf); 444 kfree(buf);
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index fe7188f742b7..292722327811 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -133,7 +133,8 @@ ramoops_get_next_prz(struct persistent_ram_zone *przs[], uint *c, uint max,
133 133
134static ssize_t ramoops_pstore_read(u64 *id, enum pstore_type_id *type, 134static ssize_t ramoops_pstore_read(u64 *id, enum pstore_type_id *type,
135 int *count, struct timespec *time, 135 int *count, struct timespec *time,
136 char **buf, struct pstore_info *psi) 136 char **buf, bool *compressed,
137 struct pstore_info *psi)
137{ 138{
138 ssize_t size; 139 ssize_t size;
139 ssize_t ecc_notice_size; 140 ssize_t ecc_notice_size;