All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
@ 2020-10-26  9:40 ` Robin Hsu via Linux-f2fs-devel
  0 siblings, 0 replies; 12+ messages in thread
From: Robin Hsu @ 2020-10-26  9:40 UTC (permalink / raw)
  To: linux-f2fs-devel, jaegeuk, chao; +Cc: linux-kernel, Robin Hsu

'ret' should not have been used here: otherwise, it would be wrongly used
as the error code and then be returned from main().

Signed-off-by: Robin Hsu <robinhsu@google.com>
---
 fsck/fsck.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fsck/fsck.c b/fsck/fsck.c
index f97e9fb..66e4e3f 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -3137,8 +3137,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
 		char ans[255] = {0};
 
 		printf("\nDo you want to restore lost files into ./lost_found/? [Y/N] ");
-		ret = scanf("%s", ans);
-		ASSERT(ret >= 0);
+		ASSERT(scanf("%s", ans) >= 0);
 		if (!strcasecmp(ans, "y")) {
 			for (i = 0; i < fsck->nr_nat_entries; i++) {
 				if (f2fs_test_bit(i, fsck->nat_area_bitmap))
-- 
2.29.0.rc2.309.g374f81d7ae-goog


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
@ 2020-10-26  9:40 ` Robin Hsu via Linux-f2fs-devel
  0 siblings, 0 replies; 12+ messages in thread
From: Robin Hsu via Linux-f2fs-devel @ 2020-10-26  9:40 UTC (permalink / raw)
  To: linux-f2fs-devel, jaegeuk, chao; +Cc: linux-kernel

'ret' should not have been used here: otherwise, it would be wrongly used
as the error code and then be returned from main().

Signed-off-by: Robin Hsu <robinhsu@google.com>
---
 fsck/fsck.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fsck/fsck.c b/fsck/fsck.c
index f97e9fb..66e4e3f 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -3137,8 +3137,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
 		char ans[255] = {0};
 
 		printf("\nDo you want to restore lost files into ./lost_found/? [Y/N] ");
-		ret = scanf("%s", ans);
-		ASSERT(ret >= 0);
+		ASSERT(scanf("%s", ans) >= 0);
 		if (!strcasecmp(ans, "y")) {
 			for (i = 0; i < fsck->nr_nat_entries; i++) {
 				if (f2fs_test_bit(i, fsck->nat_area_bitmap))
-- 
2.29.0.rc2.309.g374f81d7ae-goog



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
  2020-10-26  9:40 ` [f2fs-dev] " Robin Hsu via Linux-f2fs-devel
@ 2020-10-28  6:57   ` Chao Yu
  -1 siblings, 0 replies; 12+ messages in thread
From: Chao Yu @ 2020-10-28  6:57 UTC (permalink / raw)
  To: Robin Hsu, linux-f2fs-devel, jaegeuk, chao; +Cc: linux-kernel

On 2020/10/26 17:40, Robin Hsu via Linux-f2fs-devel wrote:
> 'ret' should not have been used here: otherwise, it would be wrongly used
> as the error code and then be returned from main().
> 
> Signed-off-by: Robin Hsu <robinhsu@google.com>

BTW, how about changing 'ret = EXIT_ERR_CODE' to
'ret = FSCK_ERRORS_LEFT_UNCORRECTED', it's not critical though.

Reviewed-by: Chao Yu <yuchao0@huawei.com>

Thanks,

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
@ 2020-10-28  6:57   ` Chao Yu
  0 siblings, 0 replies; 12+ messages in thread
From: Chao Yu @ 2020-10-28  6:57 UTC (permalink / raw)
  To: Robin Hsu, linux-f2fs-devel, jaegeuk, chao; +Cc: linux-kernel

On 2020/10/26 17:40, Robin Hsu via Linux-f2fs-devel wrote:
> 'ret' should not have been used here: otherwise, it would be wrongly used
> as the error code and then be returned from main().
> 
> Signed-off-by: Robin Hsu <robinhsu@google.com>

BTW, how about changing 'ret = EXIT_ERR_CODE' to
'ret = FSCK_ERRORS_LEFT_UNCORRECTED', it's not critical though.

Reviewed-by: Chao Yu <yuchao0@huawei.com>

Thanks,


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
  2020-10-28  6:57   ` Chao Yu
@ 2020-11-02 16:09     ` Jaegeuk Kim
  -1 siblings, 0 replies; 12+ messages in thread
From: Jaegeuk Kim @ 2020-11-02 16:09 UTC (permalink / raw)
  To: Chao Yu; +Cc: Robin Hsu, linux-f2fs-devel, chao, linux-kernel

On 10/28, Chao Yu wrote:
> On 2020/10/26 17:40, Robin Hsu via Linux-f2fs-devel wrote:
> > 'ret' should not have been used here: otherwise, it would be wrongly used
> > as the error code and then be returned from main().
> > 
> > Signed-off-by: Robin Hsu <robinhsu@google.com>
> 
> BTW, how about changing 'ret = EXIT_ERR_CODE' to
> 'ret = FSCK_ERRORS_LEFT_UNCORRECTED', it's not critical though.
> 
> Reviewed-by: Chao Yu <yuchao0@huawei.com>

I think it'd be good to go as is for now. :)

> 
> Thanks,

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
@ 2020-11-02 16:09     ` Jaegeuk Kim
  0 siblings, 0 replies; 12+ messages in thread
From: Jaegeuk Kim @ 2020-11-02 16:09 UTC (permalink / raw)
  To: Chao Yu; +Cc: linux-f2fs-devel, linux-kernel

On 10/28, Chao Yu wrote:
> On 2020/10/26 17:40, Robin Hsu via Linux-f2fs-devel wrote:
> > 'ret' should not have been used here: otherwise, it would be wrongly used
> > as the error code and then be returned from main().
> > 
> > Signed-off-by: Robin Hsu <robinhsu@google.com>
> 
> BTW, how about changing 'ret = EXIT_ERR_CODE' to
> 'ret = FSCK_ERRORS_LEFT_UNCORRECTED', it's not critical though.
> 
> Reviewed-by: Chao Yu <yuchao0@huawei.com>

I think it'd be good to go as is for now. :)

> 
> Thanks,


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
  2020-10-26  9:40 ` [f2fs-dev] " Robin Hsu via Linux-f2fs-devel
@ 2020-11-03  2:52   ` Eric Biggers
  -1 siblings, 0 replies; 12+ messages in thread
From: Eric Biggers @ 2020-11-03  2:52 UTC (permalink / raw)
  To: Robin Hsu; +Cc: linux-f2fs-devel, jaegeuk, chao, linux-kernel

On Mon, Oct 26, 2020 at 05:40:00PM +0800, Robin Hsu via Linux-f2fs-devel wrote:
> 'ret' should not have been used here: otherwise, it would be wrongly used
> as the error code and then be returned from main().
> 
> Signed-off-by: Robin Hsu <robinhsu@google.com>
> ---
>  fsck/fsck.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/fsck/fsck.c b/fsck/fsck.c
> index f97e9fb..66e4e3f 100644
> --- a/fsck/fsck.c
> +++ b/fsck/fsck.c
> @@ -3137,8 +3137,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
>  		char ans[255] = {0};
>  
>  		printf("\nDo you want to restore lost files into ./lost_found/? [Y/N] ");
> -		ret = scanf("%s", ans);
> -		ASSERT(ret >= 0);
> +		ASSERT(scanf("%s", ans) >= 0);
>  		if (!strcasecmp(ans, "y")) {
>  			for (i = 0; i < fsck->nr_nat_entries; i++) {
>  				if (f2fs_test_bit(i, fsck->nat_area_bitmap))

This patch causes a compiler warning:

	In file included from f2fs.h:33,
			 from fsck.h:14,
			 from fsck.c:11:
	fsck.c: In function 'fsck_verify':
	../include/f2fs_fs.h:197:11: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
	    printf("[ASSERT] (%s:%4d) " #exp"\n",  \
		   ^~~~~~~~~~~~~~~~~~~~
	fsck.c:3151:3: note: in expansion of macro 'ASSERT'
	   ASSERT(scanf("%s", ans) >= 0);
	   ^~~~~~

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
@ 2020-11-03  2:52   ` Eric Biggers
  0 siblings, 0 replies; 12+ messages in thread
From: Eric Biggers @ 2020-11-03  2:52 UTC (permalink / raw)
  To: Robin Hsu; +Cc: jaegeuk, linux-kernel, linux-f2fs-devel

On Mon, Oct 26, 2020 at 05:40:00PM +0800, Robin Hsu via Linux-f2fs-devel wrote:
> 'ret' should not have been used here: otherwise, it would be wrongly used
> as the error code and then be returned from main().
> 
> Signed-off-by: Robin Hsu <robinhsu@google.com>
> ---
>  fsck/fsck.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/fsck/fsck.c b/fsck/fsck.c
> index f97e9fb..66e4e3f 100644
> --- a/fsck/fsck.c
> +++ b/fsck/fsck.c
> @@ -3137,8 +3137,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
>  		char ans[255] = {0};
>  
>  		printf("\nDo you want to restore lost files into ./lost_found/? [Y/N] ");
> -		ret = scanf("%s", ans);
> -		ASSERT(ret >= 0);
> +		ASSERT(scanf("%s", ans) >= 0);
>  		if (!strcasecmp(ans, "y")) {
>  			for (i = 0; i < fsck->nr_nat_entries; i++) {
>  				if (f2fs_test_bit(i, fsck->nat_area_bitmap))

This patch causes a compiler warning:

	In file included from f2fs.h:33,
			 from fsck.h:14,
			 from fsck.c:11:
	fsck.c: In function 'fsck_verify':
	../include/f2fs_fs.h:197:11: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
	    printf("[ASSERT] (%s:%4d) " #exp"\n",  \
		   ^~~~~~~~~~~~~~~~~~~~
	fsck.c:3151:3: note: in expansion of macro 'ASSERT'
	   ASSERT(scanf("%s", ans) >= 0);
	   ^~~~~~


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
  2020-11-03  2:52   ` Eric Biggers
@ 2020-11-03  3:23     ` Jaegeuk Kim
  -1 siblings, 0 replies; 12+ messages in thread
From: Jaegeuk Kim @ 2020-11-03  3:23 UTC (permalink / raw)
  To: Eric Biggers; +Cc: Robin Hsu, linux-f2fs-devel, chao, linux-kernel

On 11/02, Eric Biggers wrote:
> On Mon, Oct 26, 2020 at 05:40:00PM +0800, Robin Hsu via Linux-f2fs-devel wrote:
> > 'ret' should not have been used here: otherwise, it would be wrongly used
> > as the error code and then be returned from main().
> > 
> > Signed-off-by: Robin Hsu <robinhsu@google.com>
> > ---
> >  fsck/fsck.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/fsck/fsck.c b/fsck/fsck.c
> > index f97e9fb..66e4e3f 100644
> > --- a/fsck/fsck.c
> > +++ b/fsck/fsck.c
> > @@ -3137,8 +3137,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
> >  		char ans[255] = {0};
> >  
> >  		printf("\nDo you want to restore lost files into ./lost_found/? [Y/N] ");
> > -		ret = scanf("%s", ans);
> > -		ASSERT(ret >= 0);
> > +		ASSERT(scanf("%s", ans) >= 0);
> >  		if (!strcasecmp(ans, "y")) {
> >  			for (i = 0; i < fsck->nr_nat_entries; i++) {
> >  				if (f2fs_test_bit(i, fsck->nat_area_bitmap))
> 
> This patch causes a compiler warning:
> 
> 	In file included from f2fs.h:33,
> 			 from fsck.h:14,
> 			 from fsck.c:11:
> 	fsck.c: In function 'fsck_verify':
> 	../include/f2fs_fs.h:197:11: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
> 	    printf("[ASSERT] (%s:%4d) " #exp"\n",  \
> 		   ^~~~~~~~~~~~~~~~~~~~
> 	fsck.c:3151:3: note: in expansion of macro 'ASSERT'
> 	   ASSERT(scanf("%s", ans) >= 0);
> 	   ^~~~~~

Urg. Fixed by this.

From c986140e3c5abb9eb7a08928a88acb8273f1bd52 Mon Sep 17 00:00:00 2001
From: Robin Hsu <robinhsu@google.com>
Date: Mon, 26 Oct 2020 17:40:00 +0800
Subject: [PATCH] f2fs-toos: fsck.f2fs Fix bad return value

'ret' should not have been used here: otherwise, it would be wrongly used
as the error code and then be returned from main().

Signed-off-by: Robin Hsu <robinhsu@google.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 fsck/fsck.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fsck/fsck.c b/fsck/fsck.c
index 647523397f3e..e52672032d2c 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -3146,10 +3146,11 @@ int fsck_verify(struct f2fs_sb_info *sbi)
 #ifndef WITH_ANDROID
 	if (nr_unref_nid && !c.ro) {
 		char ans[255] = {0};
+		int res;
 
 		printf("\nDo you want to restore lost files into ./lost_found/? [Y/N] ");
-		ret = scanf("%s", ans);
-		ASSERT(ret >= 0);
+		res = scanf("%s", ans);
+		ASSERT(res >= 0);
 		if (!strcasecmp(ans, "y")) {
 			for (i = 0; i < fsck->nr_nat_entries; i++) {
 				if (f2fs_test_bit(i, fsck->nat_area_bitmap))
-- 
2.29.1.341.ge80a0c044ae-goog


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
@ 2020-11-03  3:23     ` Jaegeuk Kim
  0 siblings, 0 replies; 12+ messages in thread
From: Jaegeuk Kim @ 2020-11-03  3:23 UTC (permalink / raw)
  To: Eric Biggers; +Cc: linux-f2fs-devel, linux-kernel

On 11/02, Eric Biggers wrote:
> On Mon, Oct 26, 2020 at 05:40:00PM +0800, Robin Hsu via Linux-f2fs-devel wrote:
> > 'ret' should not have been used here: otherwise, it would be wrongly used
> > as the error code and then be returned from main().
> > 
> > Signed-off-by: Robin Hsu <robinhsu@google.com>
> > ---
> >  fsck/fsck.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/fsck/fsck.c b/fsck/fsck.c
> > index f97e9fb..66e4e3f 100644
> > --- a/fsck/fsck.c
> > +++ b/fsck/fsck.c
> > @@ -3137,8 +3137,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
> >  		char ans[255] = {0};
> >  
> >  		printf("\nDo you want to restore lost files into ./lost_found/? [Y/N] ");
> > -		ret = scanf("%s", ans);
> > -		ASSERT(ret >= 0);
> > +		ASSERT(scanf("%s", ans) >= 0);
> >  		if (!strcasecmp(ans, "y")) {
> >  			for (i = 0; i < fsck->nr_nat_entries; i++) {
> >  				if (f2fs_test_bit(i, fsck->nat_area_bitmap))
> 
> This patch causes a compiler warning:
> 
> 	In file included from f2fs.h:33,
> 			 from fsck.h:14,
> 			 from fsck.c:11:
> 	fsck.c: In function 'fsck_verify':
> 	../include/f2fs_fs.h:197:11: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
> 	    printf("[ASSERT] (%s:%4d) " #exp"\n",  \
> 		   ^~~~~~~~~~~~~~~~~~~~
> 	fsck.c:3151:3: note: in expansion of macro 'ASSERT'
> 	   ASSERT(scanf("%s", ans) >= 0);
> 	   ^~~~~~

Urg. Fixed by this.

From c986140e3c5abb9eb7a08928a88acb8273f1bd52 Mon Sep 17 00:00:00 2001
From: Robin Hsu <robinhsu@google.com>
Date: Mon, 26 Oct 2020 17:40:00 +0800
Subject: [PATCH] f2fs-toos: fsck.f2fs Fix bad return value

'ret' should not have been used here: otherwise, it would be wrongly used
as the error code and then be returned from main().

Signed-off-by: Robin Hsu <robinhsu@google.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 fsck/fsck.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fsck/fsck.c b/fsck/fsck.c
index 647523397f3e..e52672032d2c 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -3146,10 +3146,11 @@ int fsck_verify(struct f2fs_sb_info *sbi)
 #ifndef WITH_ANDROID
 	if (nr_unref_nid && !c.ro) {
 		char ans[255] = {0};
+		int res;
 
 		printf("\nDo you want to restore lost files into ./lost_found/? [Y/N] ");
-		ret = scanf("%s", ans);
-		ASSERT(ret >= 0);
+		res = scanf("%s", ans);
+		ASSERT(res >= 0);
 		if (!strcasecmp(ans, "y")) {
 			for (i = 0; i < fsck->nr_nat_entries; i++) {
 				if (f2fs_test_bit(i, fsck->nat_area_bitmap))
-- 
2.29.1.341.ge80a0c044ae-goog



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
       [not found]     ` <CAH7-xNRd1QBJUaxajijjrMbWdKKO1AKS2-1Q5HAAkHSUF628ug@mail.gmail.com>
@ 2020-11-04 18:53         ` Jaegeuk Kim
  0 siblings, 0 replies; 12+ messages in thread
From: Jaegeuk Kim @ 2020-11-04 18:53 UTC (permalink / raw)
  To: Robin Hsu; +Cc: Eric Biggers, linux-f2fs-devel, chao, linux-kernel

On 11/04, Robin Hsu wrote:
> The root cause is the ASSERT() marco,  In fact, I already fixed it in one
> of my recent work.
> I separate it as an independent commit here:
> 
> >From 5359588b1804c5e555e9fad92203d76041ef09eb Mon Sep 17 00:00:00 2001
> 
> From: Robin Hsu <robinhsu@google.com>
> 
> Date: Wed, 4 Nov 2020 10:50:28 +0800
> 
> Subject: [PATCH] Fix ASSERT() macro with '%' in the expression
> 
> 
> 
> Fix a compiling error triggered by ASSERT(exp), when exp contains '%'
> 
> (e.g. integer modular operator)
> 
> 
> 
> Signed-off-by: Robin Hsu <robinhsu@google.com>
> 
> Change-Id: I84708dbaf10c675b9950926c9b6ded5b5a3fbd59

Thanks, applied as well. :)

> 
> ---
> 
>  include/f2fs_fs.h | 4 ++--
> 
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> 
> 
> diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
> 
> index b5bda13..1348e39 100644
> 
> --- a/include/f2fs_fs.h
> 
> +++ b/include/f2fs_fs.h
> 
> @@ -194,8 +194,8 @@ static inline uint64_t bswap_64(uint64_t val)
> 
>  #define ASSERT(exp)                                                    \
> 
>         do {                                                            \
> 
>                 if (!(exp)) {                                           \
> 
> -                       printf("[ASSERT] (%s:%4d) " #exp"\n",           \
> 
> -                                       __func__, __LINE__);            \
> 
> +                       printf("[ASSERT] (%s:%4d) %s\n",                \
> 
> +                                       __func__, __LINE__, #exp);      \
> 
>                         exit(-1);                                       \
> 
>                 }                                                       \
> 
>         } while (0)
> 
> --
> 
> 2.29.1.341.ge80a0c044ae-goog
> 
> 
> On Tue, Nov 3, 2020 at 11:23 AM Jaegeuk Kim <jaegeuk@kernel.org> wrote:
> 
> > On 11/02, Eric Biggers wrote:
> > > On Mon, Oct 26, 2020 at 05:40:00PM +0800, Robin Hsu via Linux-f2fs-devel
> > wrote:
> > > > 'ret' should not have been used here: otherwise, it would be wrongly
> > used
> > > > as the error code and then be returned from main().
> > > >
> > > > Signed-off-by: Robin Hsu <robinhsu@google.com>
> > > > ---
> > > >  fsck/fsck.c | 3 +--
> > > >  1 file changed, 1 insertion(+), 2 deletions(-)
> > > >
> > > > diff --git a/fsck/fsck.c b/fsck/fsck.c
> > > > index f97e9fb..66e4e3f 100644
> > > > --- a/fsck/fsck.c
> > > > +++ b/fsck/fsck.c
> > > > @@ -3137,8 +3137,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
> > > >             char ans[255] = {0};
> > > >
> > > >             printf("\nDo you want to restore lost files into
> > ./lost_found/? [Y/N] ");
> > > > -           ret = scanf("%s", ans);
> > > > -           ASSERT(ret >= 0);
> > > > +           ASSERT(scanf("%s", ans) >= 0);
> > > >             if (!strcasecmp(ans, "y")) {
> > > >                     for (i = 0; i < fsck->nr_nat_entries; i++) {
> > > >                             if (f2fs_test_bit(i,
> > fsck->nat_area_bitmap))
> > >
> > > This patch causes a compiler warning:
> > >
> > >       In file included from f2fs.h:33,
> > >                        from fsck.h:14,
> > >                        from fsck.c:11:
> > >       fsck.c: In function 'fsck_verify':
> > >       ../include/f2fs_fs.h:197:11: warning: format '%s' expects a
> > matching 'char *' argument [-Wformat=]
> > >           printf("[ASSERT] (%s:%4d) " #exp"\n",  \
> > >                  ^~~~~~~~~~~~~~~~~~~~
> > >       fsck.c:3151:3: note: in expansion of macro 'ASSERT'
> > >          ASSERT(scanf("%s", ans) >= 0);
> > >          ^~~~~~
> >
> > Urg. Fixed by this.
> >
> > From c986140e3c5abb9eb7a08928a88acb8273f1bd52 Mon Sep 17 00:00:00 2001
> > From: Robin Hsu <robinhsu@google.com>
> > Date: Mon, 26 Oct 2020 17:40:00 +0800
> > Subject: [PATCH] f2fs-toos: fsck.f2fs Fix bad return value
> >
> > 'ret' should not have been used here: otherwise, it would be wrongly used
> > as the error code and then be returned from main().
> >
> > Signed-off-by: Robin Hsu <robinhsu@google.com>
> > Reviewed-by: Chao Yu <yuchao0@huawei.com>
> > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
> > ---
> >  fsck/fsck.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/fsck/fsck.c b/fsck/fsck.c
> > index 647523397f3e..e52672032d2c 100644
> > --- a/fsck/fsck.c
> > +++ b/fsck/fsck.c
> > @@ -3146,10 +3146,11 @@ int fsck_verify(struct f2fs_sb_info *sbi)
> >  #ifndef WITH_ANDROID
> >         if (nr_unref_nid && !c.ro) {
> >                 char ans[255] = {0};
> > +               int res;
> >
> >                 printf("\nDo you want to restore lost files into
> > ./lost_found/? [Y/N] ");
> > -               ret = scanf("%s", ans);
> > -               ASSERT(ret >= 0);
> > +               res = scanf("%s", ans);
> > +               ASSERT(res >= 0);
> >                 if (!strcasecmp(ans, "y")) {
> >                         for (i = 0; i < fsck->nr_nat_entries; i++) {
> >                                 if (f2fs_test_bit(i,
> > fsck->nat_area_bitmap))
> > --
> > 2.29.1.341.ge80a0c044ae-goog
> >
> >

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [f2fs-dev] [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value
@ 2020-11-04 18:53         ` Jaegeuk Kim
  0 siblings, 0 replies; 12+ messages in thread
From: Jaegeuk Kim @ 2020-11-04 18:53 UTC (permalink / raw)
  To: Robin Hsu; +Cc: Eric Biggers, linux-kernel, linux-f2fs-devel

On 11/04, Robin Hsu wrote:
> The root cause is the ASSERT() marco,  In fact, I already fixed it in one
> of my recent work.
> I separate it as an independent commit here:
> 
> >From 5359588b1804c5e555e9fad92203d76041ef09eb Mon Sep 17 00:00:00 2001
> 
> From: Robin Hsu <robinhsu@google.com>
> 
> Date: Wed, 4 Nov 2020 10:50:28 +0800
> 
> Subject: [PATCH] Fix ASSERT() macro with '%' in the expression
> 
> 
> 
> Fix a compiling error triggered by ASSERT(exp), when exp contains '%'
> 
> (e.g. integer modular operator)
> 
> 
> 
> Signed-off-by: Robin Hsu <robinhsu@google.com>
> 
> Change-Id: I84708dbaf10c675b9950926c9b6ded5b5a3fbd59

Thanks, applied as well. :)

> 
> ---
> 
>  include/f2fs_fs.h | 4 ++--
> 
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> 
> 
> diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
> 
> index b5bda13..1348e39 100644
> 
> --- a/include/f2fs_fs.h
> 
> +++ b/include/f2fs_fs.h
> 
> @@ -194,8 +194,8 @@ static inline uint64_t bswap_64(uint64_t val)
> 
>  #define ASSERT(exp)                                                    \
> 
>         do {                                                            \
> 
>                 if (!(exp)) {                                           \
> 
> -                       printf("[ASSERT] (%s:%4d) " #exp"\n",           \
> 
> -                                       __func__, __LINE__);            \
> 
> +                       printf("[ASSERT] (%s:%4d) %s\n",                \
> 
> +                                       __func__, __LINE__, #exp);      \
> 
>                         exit(-1);                                       \
> 
>                 }                                                       \
> 
>         } while (0)
> 
> --
> 
> 2.29.1.341.ge80a0c044ae-goog
> 
> 
> On Tue, Nov 3, 2020 at 11:23 AM Jaegeuk Kim <jaegeuk@kernel.org> wrote:
> 
> > On 11/02, Eric Biggers wrote:
> > > On Mon, Oct 26, 2020 at 05:40:00PM +0800, Robin Hsu via Linux-f2fs-devel
> > wrote:
> > > > 'ret' should not have been used here: otherwise, it would be wrongly
> > used
> > > > as the error code and then be returned from main().
> > > >
> > > > Signed-off-by: Robin Hsu <robinhsu@google.com>
> > > > ---
> > > >  fsck/fsck.c | 3 +--
> > > >  1 file changed, 1 insertion(+), 2 deletions(-)
> > > >
> > > > diff --git a/fsck/fsck.c b/fsck/fsck.c
> > > > index f97e9fb..66e4e3f 100644
> > > > --- a/fsck/fsck.c
> > > > +++ b/fsck/fsck.c
> > > > @@ -3137,8 +3137,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
> > > >             char ans[255] = {0};
> > > >
> > > >             printf("\nDo you want to restore lost files into
> > ./lost_found/? [Y/N] ");
> > > > -           ret = scanf("%s", ans);
> > > > -           ASSERT(ret >= 0);
> > > > +           ASSERT(scanf("%s", ans) >= 0);
> > > >             if (!strcasecmp(ans, "y")) {
> > > >                     for (i = 0; i < fsck->nr_nat_entries; i++) {
> > > >                             if (f2fs_test_bit(i,
> > fsck->nat_area_bitmap))
> > >
> > > This patch causes a compiler warning:
> > >
> > >       In file included from f2fs.h:33,
> > >                        from fsck.h:14,
> > >                        from fsck.c:11:
> > >       fsck.c: In function 'fsck_verify':
> > >       ../include/f2fs_fs.h:197:11: warning: format '%s' expects a
> > matching 'char *' argument [-Wformat=]
> > >           printf("[ASSERT] (%s:%4d) " #exp"\n",  \
> > >                  ^~~~~~~~~~~~~~~~~~~~
> > >       fsck.c:3151:3: note: in expansion of macro 'ASSERT'
> > >          ASSERT(scanf("%s", ans) >= 0);
> > >          ^~~~~~
> >
> > Urg. Fixed by this.
> >
> > From c986140e3c5abb9eb7a08928a88acb8273f1bd52 Mon Sep 17 00:00:00 2001
> > From: Robin Hsu <robinhsu@google.com>
> > Date: Mon, 26 Oct 2020 17:40:00 +0800
> > Subject: [PATCH] f2fs-toos: fsck.f2fs Fix bad return value
> >
> > 'ret' should not have been used here: otherwise, it would be wrongly used
> > as the error code and then be returned from main().
> >
> > Signed-off-by: Robin Hsu <robinhsu@google.com>
> > Reviewed-by: Chao Yu <yuchao0@huawei.com>
> > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
> > ---
> >  fsck/fsck.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/fsck/fsck.c b/fsck/fsck.c
> > index 647523397f3e..e52672032d2c 100644
> > --- a/fsck/fsck.c
> > +++ b/fsck/fsck.c
> > @@ -3146,10 +3146,11 @@ int fsck_verify(struct f2fs_sb_info *sbi)
> >  #ifndef WITH_ANDROID
> >         if (nr_unref_nid && !c.ro) {
> >                 char ans[255] = {0};
> > +               int res;
> >
> >                 printf("\nDo you want to restore lost files into
> > ./lost_found/? [Y/N] ");
> > -               ret = scanf("%s", ans);
> > -               ASSERT(ret >= 0);
> > +               res = scanf("%s", ans);
> > +               ASSERT(res >= 0);
> >                 if (!strcasecmp(ans, "y")) {
> >                         for (i = 0; i < fsck->nr_nat_entries; i++) {
> >                                 if (f2fs_test_bit(i,
> > fsck->nat_area_bitmap))
> > --
> > 2.29.1.341.ge80a0c044ae-goog
> >
> >


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2020-11-04 18:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-26  9:40 [PATCH 1/1] f2fs-toos:fsck.f2fs Fix bad return value Robin Hsu
2020-10-26  9:40 ` [f2fs-dev] " Robin Hsu via Linux-f2fs-devel
2020-10-28  6:57 ` Chao Yu
2020-10-28  6:57   ` Chao Yu
2020-11-02 16:09   ` Jaegeuk Kim
2020-11-02 16:09     ` Jaegeuk Kim
2020-11-03  2:52 ` Eric Biggers
2020-11-03  2:52   ` Eric Biggers
2020-11-03  3:23   ` Jaegeuk Kim
2020-11-03  3:23     ` Jaegeuk Kim
     [not found]     ` <CAH7-xNRd1QBJUaxajijjrMbWdKKO1AKS2-1Q5HAAkHSUF628ug@mail.gmail.com>
2020-11-04 18:53       ` Jaegeuk Kim
2020-11-04 18:53         ` Jaegeuk Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.