z3fold: simplify the zhdr initialization code in init_z3fold_page()
authorMiaohe Lin <linmiaohe@huawei.com>
Wed, 24 Feb 2021 20:09:22 +0000 (12:09 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 24 Feb 2021 21:38:34 +0000 (13:38 -0800)
We can simplify the zhdr initialization by memset() the zhdr first
instead of set struct member to zero one by one.  This would also make
code more compact and clear.

Link: https://lkml.kernel.org/r/20210120085851.16159-1-linmiaohe@huawei.com
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Cc: Vitaly Wool <vitaly.wool@konsulko.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/z3fold.c

index 8e53cdf4d190347d72bac0697b8e82ed62802df7..c1ccf6bb0ffb7932bce6f9d56ec911909a348ebf 100644 (file)
@@ -413,16 +413,10 @@ static struct z3fold_header *init_z3fold_page(struct page *page, bool headless,
        if (!slots)
                return NULL;
 
+       memset(zhdr, 0, sizeof(*zhdr));
        spin_lock_init(&zhdr->page_lock);
        kref_init(&zhdr->refcount);
-       zhdr->first_chunks = 0;
-       zhdr->middle_chunks = 0;
-       zhdr->last_chunks = 0;
-       zhdr->first_num = 0;
-       zhdr->start_middle = 0;
        zhdr->cpu = -1;
-       zhdr->foreign_handles = 0;
-       zhdr->mapped_count = 0;
        zhdr->slots = slots;
        zhdr->pool = pool;
        INIT_LIST_HEAD(&zhdr->buddy);