[PATCH -next] efs: fix -Wunused-const-variable= warning

Zhu Wang posted 1 patch 2 years, 6 months ago
fs/efs/efs.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH -next] efs: fix -Wunused-const-variable= warning
Posted by Zhu Wang 2 years, 6 months ago
When building with W=1, the following warning occurs.

In file included from fs/efs/super.c:18:0:
fs/efs/efs.h:22:19: warning: ‘cprt’ defined but not used [-Wunused-const-variable=]
 static const char cprt[] = "EFS: "EFS_VERSION" - (c) 1999 Al Smith
<Al.Smith@aeschi.ch.eu.org>";
                   ^~~~
The header file is included in many C files, there are many
similar errors which are not included here. We add __maybe_unsed
to remove it.

Fixes: 45254b4fb2ae ("efs: move headers out of include/linux/")
Signed-off-by: Zhu Wang <wangzhu9@huawei.com>
---
 fs/efs/efs.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/efs/efs.h b/fs/efs/efs.h
index 13a4d9622633..8202be1b2ade 100644
--- a/fs/efs/efs.h
+++ b/fs/efs/efs.h
@@ -19,7 +19,8 @@
 
 #define EFS_VERSION "1.0a"
 
-static const char cprt[] = "EFS: "EFS_VERSION" - (c) 1999 Al Smith <Al.Smith@aeschi.ch.eu.org>";
+static const char __maybe_unused cprt[] =
+	"EFS: "EFS_VERSION" - (c) 1999 Al Smith <Al.Smith@aeschi.ch.eu.org>";
 
 
 /* 1 block is 512 bytes */
-- 
2.17.1

Re: [PATCH -next] efs: fix -Wunused-const-variable= warning
Posted by Andrew Morton 2 years, 6 months ago
On Wed, 2 Aug 2023 14:57:53 +0800 Zhu Wang <wangzhu9@huawei.com> wrote:

> When building with W=1, the following warning occurs.
> 
> In file included from fs/efs/super.c:18:0:
> fs/efs/efs.h:22:19: warning: ‘cprt’ defined but not used [-Wunused-const-variable=]
>  static const char cprt[] = "EFS: "EFS_VERSION" - (c) 1999 Al Smith
> <Al.Smith@aeschi.ch.eu.org>";
>                    ^~~~
> The header file is included in many C files, there are many
> similar errors which are not included here. We add __maybe_unsed
> to remove it.
> 
> ...
>
> --- a/fs/efs/efs.h
> +++ b/fs/efs/efs.h
> @@ -19,7 +19,8 @@
>  
>  #define EFS_VERSION "1.0a"
>  
> -static const char cprt[] = "EFS: "EFS_VERSION" - (c) 1999 Al Smith <Al.Smith@aeschi.ch.eu.org>";
> +static const char __maybe_unused cprt[] =
> +	"EFS: "EFS_VERSION" - (c) 1999 Al Smith <Al.Smith@aeschi.ch.eu.org>";
>  
>  
>  /* 1 block is 512 bytes */

I don't know if Al is still around, but I added the Cc anyway.

cprt[] is unreferenced in fs/efs/*.c.  I assume the intent here was to
embed the copyright strings in the generated binary.  But this doesn't
work nowadays - the compiler/linker are removing this string entirely.

I guess the best approach is to move this copyright statement into a
comment as we do in many other places.  See fs/ext2/acl.c for a random
example.