Don't use pstore.buf directly, instead convert the code to write_buf callback
which passes a pointer to a buffer as an argument.

Signed-off-by: Anton Vorontsov <anton.voront...@linaro.org>
---
 fs/pstore/ram.c |   17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index b39aebb..74f4111 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -170,11 +170,12 @@ static size_t ramoops_write_kmsg_hdr(struct 
persistent_ram_zone *prz)
        return len;
 }
 
-static int ramoops_pstore_write(enum pstore_type_id type,
-                               enum kmsg_dump_reason reason,
-                               u64 *id,
-                               unsigned int part,
-                               size_t size, struct pstore_info *psi)
+
+static int ramoops_pstore_write_buf(enum pstore_type_id type,
+                                   enum kmsg_dump_reason reason,
+                                   u64 *id, unsigned int part,
+                                   const char *buf, size_t size,
+                                   struct pstore_info *psi)
 {
        struct ramoops_context *cxt = psi->data;
        struct persistent_ram_zone *prz = cxt->przs[cxt->dump_write_cnt];
@@ -183,7 +184,7 @@ static int ramoops_pstore_write(enum pstore_type_id type,
        if (type == PSTORE_TYPE_CONSOLE) {
                if (!cxt->cprz)
                        return -ENOMEM;
-               persistent_ram_write(cxt->cprz, cxt->pstore.buf, size);
+               persistent_ram_write(cxt->cprz, buf, size);
                return 0;
        }
 
@@ -212,7 +213,7 @@ static int ramoops_pstore_write(enum pstore_type_id type,
        hlen = ramoops_write_kmsg_hdr(prz);
        if (size + hlen > prz->buffer_size)
                size = prz->buffer_size - hlen;
-       persistent_ram_write(prz, cxt->pstore.buf, size);
+       persistent_ram_write(prz, buf, size);
 
        cxt->dump_write_cnt = (cxt->dump_write_cnt + 1) % cxt->max_dump_cnt;
 
@@ -250,7 +251,7 @@ static struct ramoops_context oops_cxt = {
                .name   = "ramoops",
                .open   = ramoops_pstore_open,
                .read   = ramoops_pstore_read,
-               .write  = ramoops_pstore_write,
+               .write_buf      = ramoops_pstore_write_buf,
                .erase  = ramoops_pstore_erase,
        },
 };
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to