[PATCH 1/3] pstore/ram: Include ecc_size when calculating ecc_block

From: Anton Vorontsov
Date: Sun Mar 31 2013 - 23:28:31 EST


From: Arve HjÃnnevÃg <arve@xxxxxxxxxxx>

Wastes less memory and allows using more memory for ecc than data.

Signed-off-by: Arve HjÃnnevÃg <arve@xxxxxxxxxxx>
[jstultz: Tweaked commit subject]
Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
Signed-off-by: Anton Vorontsov <anton@xxxxxxxxxx>
---
fs/pstore/ram_core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c
index 0306303..e5afa22 100644
--- a/fs/pstore/ram_core.c
+++ b/fs/pstore/ram_core.c
@@ -187,7 +187,8 @@ static int persistent_ram_init_ecc(struct persistent_ram_zone *prz,
prz->ecc_block_size = 128;
prz->ecc_size = ecc_size;

- ecc_blocks = DIV_ROUND_UP(prz->buffer_size, prz->ecc_block_size);
+ ecc_blocks = DIV_ROUND_UP(prz->buffer_size - prz->ecc_size,
+ prz->ecc_block_size + prz->ecc_size);
ecc_total = (ecc_blocks + 1) * prz->ecc_size;
if (ecc_total >= prz->buffer_size) {
pr_err("%s: invalid ecc_size %u (total %zu, buffer size %zu)\n",
--
1.8.1.4

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