From 3ce1b3fb9fa66bb48ec813dfdc42ee4dcc2aa99a Mon Sep 17 00:00:00 2001 From: Anton Vorontsov Date: Sat, 26 May 2012 06:07:51 -0700 Subject: [PATCH] --- yaml --- r: 311161 b: refs/heads/master c: fce397930475f7efc712a1345dc0dad269a10544 h: refs/heads/master i: 311159: ba705a7f769b80c3ac38e31db0e3cac003fa1052 v: v3 --- [refs] | 2 +- trunk/fs/pstore/ram_core.c | 11 ++++++++--- trunk/include/linux/pstore_ram.h | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index e344cad7c073..4aae2c0b33d8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 25b63da64708212985c06c7f8b089d356efdd9cf +refs/heads/master: fce397930475f7efc712a1345dc0dad269a10544 diff --git a/trunk/fs/pstore/ram_core.c b/trunk/fs/pstore/ram_core.c index f6650d12c0c1..c5fbdbbf81ac 100644 --- a/trunk/fs/pstore/ram_core.c +++ b/trunk/fs/pstore/ram_core.c @@ -320,6 +320,13 @@ void persistent_ram_free_old(struct persistent_ram_zone *prz) prz->old_log_size = 0; } +void persistent_ram_zap(struct persistent_ram_zone *prz) +{ + atomic_set(&prz->buffer->start, 0); + atomic_set(&prz->buffer->size, 0); + persistent_ram_update_header_ecc(prz); +} + static void *persistent_ram_vmap(phys_addr_t start, size_t size) { struct page **pages; @@ -414,8 +421,7 @@ static int __init persistent_ram_post_init(struct persistent_ram_zone *prz, bool } prz->buffer->sig = PERSISTENT_RAM_SIG; - atomic_set(&prz->buffer->start, 0); - atomic_set(&prz->buffer->size, 0); + persistent_ram_zap(prz); return 0; } @@ -450,7 +456,6 @@ struct persistent_ram_zone * __init persistent_ram_new(phys_addr_t start, goto err; persistent_ram_post_init(prz, ecc); - persistent_ram_update_header_ecc(prz); return prz; err: diff --git a/trunk/include/linux/pstore_ram.h b/trunk/include/linux/pstore_ram.h index 4491e8ff36e6..3b823d49a85a 100644 --- a/trunk/include/linux/pstore_ram.h +++ b/trunk/include/linux/pstore_ram.h @@ -69,6 +69,7 @@ struct persistent_ram_zone * __init persistent_ram_new(phys_addr_t start, size_t size, bool ecc); void persistent_ram_free(struct persistent_ram_zone *prz); +void persistent_ram_zap(struct persistent_ram_zone *prz); struct persistent_ram_zone *persistent_ram_init_ringbuffer(struct device *dev, bool ecc);