Here should be BAT_ENTRY_NONE

Signed-off-by: Kirill Tkhai <[email protected]>
---
 drivers/md/dm-ploop-bat.c |    2 +-
 drivers/md/dm-ploop-map.c |   10 +++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/md/dm-ploop-bat.c b/drivers/md/dm-ploop-bat.c
index 5ebb05438e2a..1c2357a21673 100644
--- a/drivers/md/dm-ploop-bat.c
+++ b/drivers/md/dm-ploop-bat.c
@@ -107,7 +107,7 @@ int prealloc_md_pages(struct rb_root *root, unsigned int 
nr_bat_entries,
                if (!md)
                        return -ENOMEM;
                addr = kmap_atomic(md->page);
-               memset(addr, 0, PAGE_SIZE);
+               memset32(addr, BAT_ENTRY_NONE, PAGE_SIZE / 4);
                kunmap_atomic(addr);
 
                __md_page_insert(root, md);
diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c
index 9dcfe138dc54..bba578e8c219 100644
--- a/drivers/md/dm-ploop-map.c
+++ b/drivers/md/dm-ploop-map.c
@@ -709,6 +709,7 @@ static int ploop_prepare_bat_update(struct ploop *ploop, 
unsigned int page_nr,
                                    struct ploop_index_wb *piwb)
 {
        unsigned int i, off, last, *bat_entries;
+       bool is_last_page = true;
        struct md_page *md;
        struct page *page;
        struct bio *bio;
@@ -739,8 +740,10 @@ static int ploop_prepare_bat_update(struct ploop *ploop, 
unsigned int page_nr,
 
        /* Last and first index in copied page */
        last = ploop->nr_bat_entries - off;
-       if (last > PAGE_SIZE / sizeof(map_index_t))
+       if (last > PAGE_SIZE / sizeof(map_index_t)) {
                last = PAGE_SIZE / sizeof(map_index_t);
+               is_last_page = false;
+       }
        i = 0;
        if (!page_nr)
                i = PLOOP_MAP_OFFSET;
@@ -751,6 +754,11 @@ static int ploop_prepare_bat_update(struct ploop *ploop, 
unsigned int page_nr,
                        continue;
                to[i] = 0;
        }
+       if (is_last_page) {
+       /* Fill tail of page with 0 */
+               for (i = last; i < PAGE_SIZE / sizeof(map_index_t); i++)
+                       to[i] = 0;
+       }
 
        kunmap_atomic(to);
        kunmap_atomic(bat_entries);


_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to