Re: [PATCH] block: t10-pi: fix -Wswitch warning
From: Nick Desaulniers <ndesaulniers@google.com>
Date: 2019-09-19 16:21:27
Also in:
lkml
On Thu, Sep 19, 2019 at 6:57 AM Arnd Bergmann [off-list ref] wrote:
Changing the switch() statement to symbolic constants made
the compiler (at least clang-9, did not check gcc) notice that
there is one enum value that is not handled here:
block/t10-pi.c:62:11: error: enumeration value 'T10_PI_TYPE0_PROTECTION' not handled in switch [-Werror,-Wswitch]
Add another case for the missing value and do nothing there
based on the assumption that the code was working correctly
already.
Fixes: 9b2061b1a262 ("block: use symbolic constants for t10_pi type")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>Reported-by: kbuild test robot <redacted> https://groups.google.com/forum/#!topic/clang-built-linux/awgY7hmSCCM Hard to say what's the right thing to do here, there's not a lot of other switches on this variable. That enum value barely even shows up in the kernel. Since this is no functional change: Acked-by: Nick Desaulniers <ndesaulniers@google.com> Thanks for sending the patch.
quoted hunk ↗ jump to hunk
--- block/t10-pi.c | 2 ++ 1 file changed, 2 insertions(+)diff --git a/block/t10-pi.c b/block/t10-pi.c index 0c0120a672f9..055fac923946 100644 --- a/block/t10-pi.c +++ b/block/t10-pi.c@@ -60,6 +60,8 @@ static blk_status_t t10_pi_verify(struct blk_integrity_iter *iter, __be16 csum; switch (type) { + case T10_PI_TYPE0_PROTECTION: + break; case T10_PI_TYPE1_PROTECTION: case T10_PI_TYPE2_PROTECTION: if (pi->app_tag == T10_PI_APP_ESCAPE) --
-- Thanks, ~Nick Desaulniers