[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20161115170030.f0396011fa00423ff711a3b4@gmail.com>
Date: Tue, 15 Nov 2016 17:00:30 +0100
From: Vitaly Wool <vitalywool@...il.com>
To: Linux-MM <linux-mm@...ck.org>, linux-kernel@...r.kernel.org
Cc: Dan Streetman <ddstreet@...e.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: [PATCH 2/3] z3fold: don't fail kernel build if z3fold_header is too
big
Currently the whole kernel build will be stopped if the size of
struct z3fold_header is greater than the size of one chunk, which
is 64 bytes by default. This may stand in the way of automated
test/debug builds so let's remove that and just fail the z3fold
initialization in such case instead.
Signed-off-by: Vitaly Wool <vitalywool@...il.com>
---
mm/z3fold.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/mm/z3fold.c b/mm/z3fold.c
index 7ad70fa..ffd9353 100644
--- a/mm/z3fold.c
+++ b/mm/z3fold.c
@@ -870,10 +870,15 @@ MODULE_ALIAS("zpool-z3fold");
static int __init init_z3fold(void)
{
- /* Make sure the z3fold header will fit in one chunk */
- BUILD_BUG_ON(sizeof(struct z3fold_header) > ZHDR_SIZE_ALIGNED);
- zpool_register_driver(&z3fold_zpool_driver);
+ /* Fail the initialization if z3fold header won't fit in one chunk */
+ if (sizeof(struct z3fold_header) > ZHDR_SIZE_ALIGNED) {
+ pr_err("z3fold: z3fold_header size (%d) is bigger than "
+ "the chunk size (%d), can't proceed\n",
+ sizeof(struct z3fold_header) , ZHDR_SIZE_ALIGNED);
+ return -E2BIG;
+ }
+ zpool_register_driver(&z3fold_zpool_driver);
return 0;
}
--
2.4.2
Powered by blists - more mailing lists