diff options
author | Arve Hjønnevåg <arve@android.com> | 2012-03-20 16:01:31 -0700 |
---|---|---|
committer | Arve Hjønnevåg <arve@android.com> | 2013-04-29 14:42:53 -0700 |
commit | 8282744461aa98c1cb984323741d7cb501c35c01 (patch) | |
tree | 755f39accf5c835c743d20e384bc4ea97d86217e /fs | |
parent | 4074ae5c0d174fbe4361791b3327c64fddad886d (diff) |
android: persistent_ram: Include ecc_size when calculating ecc_block
Wastes less memory and allows using more memory for ecc than data.
Change-Id: I1537d28ef3e8626e2dfdc69f2e185d28b7600916
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/pstore/ram_core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c index 0306303be37..e5afa222c21 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", |