All of lore.kernel.org
 help / color / mirror / Atom feed
* re: nilfs2: fix issue with flush kernel thread after remount in RO mode because of driver's internal error or metadata corruption
@ 2013-04-25  7:49 Dan Carpenter
       [not found] ` <20130425074947.GB11880-mgFCXtclrQlZLf2FXnZxJA@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Dan Carpenter @ 2013-04-25  7:49 UTC (permalink / raw)
  To: slava-yeENwD64cLxBDgjK7y7TUQ
  Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA, kbuild-JC7UmRfGjtg

[ It's weird that kbuild didn't catch this ].

Hello Vyacheslav Dubeyko,

The patch bb594c4767b0: "nilfs2: fix issue with flush kernel thread
after remount in RO mode because of driver's internal error or
metadata corruption" from Apr 18, 2013, leads to the following 
warning:
"fs/nilfs2/inode.c:211 nilfs_writepage()
	 error: we previously assumed 'inode' could be null (see line 195)"

fs/nilfs2/inode.c
   190  static int nilfs_writepage(struct page *page, struct writeback_control *wbc)
   191  {
   192          struct inode *inode = page->mapping->host;
   193          int err;
   194  
   195          if (inode && (inode->i_sb->s_flags & MS_RDONLY)) {
                    ^^^^^
New check.

   196                  /*
   197                   * It means that filesystem was remounted in read-only
   198                   * mode because of error or metadata corruption. But we
   199                   * have dirty pages that try to be flushed in background.
   200                   * So, here we simply discard this dirty page.
   201                   */
   202                  nilfs_clear_dirty_page(page, false);
   203                  unlock_page(page);
   204                  return -EROFS;
   205          }
   206  
   207          redirty_page_for_writepage(wbc, page);
   208          unlock_page(page);
   209  
   210          if (wbc->sync_mode == WB_SYNC_ALL) {
   211                  err = nilfs_construct_segment(inode->i_sb);
                                                      ^^^^^^^^^^^
Old dereference.

   212                  if (unlikely(err))
   213                          return err;
   214          } else if (wbc->for_reclaim)
   215                  nilfs_flush_segment(inode->i_sb, inode->i_ino);
                                            ^^^^^^^^^^^
Old dereference.

   216  
   217          return 0;
   218  }

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH] nilfs2: fix warning in nilfs_writepage()
       [not found] ` <20130425074947.GB11880-mgFCXtclrQlZLf2FXnZxJA@public.gmane.org>
@ 2013-04-25  9:38   ` Vyacheslav Dubeyko
  2013-04-25 20:46     ` Andrew Morton
  2013-04-25 14:00   ` [kbuild] nilfs2: fix issue with flush kernel thread after remount in RO mode because of driver's internal error or metadata corruption Fengguang Wu
  1 sibling, 1 reply; 5+ messages in thread
From: Vyacheslav Dubeyko @ 2013-04-25  9:38 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA, kbuild-JC7UmRfGjtg,
	Ryusuke Konishi, Andrew Morton

On Thu, 2013-04-25 at 10:49 +0300, Dan Carpenter wrote:
> [ It's weird that kbuild didn't catch this ].
> 
> Hello Vyacheslav Dubeyko,
> 
> The patch bb594c4767b0: "nilfs2: fix issue with flush kernel thread
> after remount in RO mode because of driver's internal error or
> metadata corruption" from Apr 18, 2013, leads to the following 
> warning:
> "fs/nilfs2/inode.c:211 nilfs_writepage()
> 	 error: we previously assumed 'inode' could be null (see line 195)"
> 

Please, find below the patch with fix.

Thanks,
Vyacheslav Dubeyko.
--
From: Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
Subject: [PATCH] nilfs2: fix warning in nilfs_writepage()

The patch fixes warning: "fs/nilfs2/inode.c:211 nilfs_writepage() error: we previously assumed 'inode' could be null (see line 195)".

Reported-by: Dan Carpenter <dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Signed-off-by: Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
CC: Ryusuke Konishi <konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
---
 fs/nilfs2/inode.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c
index ba7a1da..cf02f55 100644
--- a/fs/nilfs2/inode.c
+++ b/fs/nilfs2/inode.c
@@ -192,7 +192,7 @@ static int nilfs_writepage(struct page *page, struct writeback_control *wbc)
 	struct inode *inode = page->mapping->host;
 	int err;
 
-	if (inode && (inode->i_sb->s_flags & MS_RDONLY)) {
+	if (inode->i_sb->s_flags & MS_RDONLY) {
 		/*
 		 * It means that filesystem was remounted in read-only
 		 * mode because of error or metadata corruption. But we
-- 
1.7.9.5



--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [kbuild] nilfs2: fix issue with flush kernel thread after remount in RO mode because of driver's internal error or metadata corruption
       [not found] ` <20130425074947.GB11880-mgFCXtclrQlZLf2FXnZxJA@public.gmane.org>
  2013-04-25  9:38   ` [PATCH] nilfs2: fix warning in nilfs_writepage() Vyacheslav Dubeyko
@ 2013-04-25 14:00   ` Fengguang Wu
  1 sibling, 0 replies; 5+ messages in thread
From: Fengguang Wu @ 2013-04-25 14:00 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: slava-yeENwD64cLxBDgjK7y7TUQ, kbuild-JC7UmRfGjtg,
	linux-nilfs-u79uwXL29TY76Z2rM5mHXA

On Thu, Apr 25, 2013 at 10:49:47AM +0300, Dan Carpenter wrote:
> [ It's weird that kbuild didn't catch this ].

Sorry about that! I made a big change in the test scripts and took
several days to fixup the new bugs. Quite some branches missed the
tests during the time..

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] nilfs2: fix warning in nilfs_writepage()
  2013-04-25  9:38   ` [PATCH] nilfs2: fix warning in nilfs_writepage() Vyacheslav Dubeyko
@ 2013-04-25 20:46     ` Andrew Morton
       [not found]       ` <20130425134610.d26f087c0db29d0703736db3-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2013-04-25 20:46 UTC (permalink / raw)
  To: slava-yeENwD64cLxBDgjK7y7TUQ
  Cc: Dan Carpenter, linux-nilfs-u79uwXL29TY76Z2rM5mHXA,
	kbuild-JC7UmRfGjtg, Ryusuke Konishi

On Thu, 25 Apr 2013 13:38:35 +0400 Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org> wrote:

> On Thu, 2013-04-25 at 10:49 +0300, Dan Carpenter wrote:
> > [ It's weird that kbuild didn't catch this ].
> > 
> > Hello Vyacheslav Dubeyko,
> > 
> > The patch bb594c4767b0: "nilfs2: fix issue with flush kernel thread
> > after remount in RO mode because of driver's internal error or
> > metadata corruption" from Apr 18, 2013, leads to the following 
> > warning:
> > "fs/nilfs2/inode.c:211 nilfs_writepage()
> > 	 error: we previously assumed 'inode' could be null (see line 195)"
> > 
> 
> Please, find below the patch with fix.
> 
> Thanks,
> Vyacheslav Dubeyko.
> --
> From: Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
> Subject: [PATCH] nilfs2: fix warning in nilfs_writepage()
> 
> The patch fixes warning: "fs/nilfs2/inode.c:211 nilfs_writepage() error: we previously assumed 'inode' could be null (see line 195)".

The changelog doesn't tell us what tool emitted the warning.  Was it sparse?

> --- a/fs/nilfs2/inode.c
> +++ b/fs/nilfs2/inode.c
> @@ -192,7 +192,7 @@ static int nilfs_writepage(struct page *page, struct writeback_control *wbc)
>  	struct inode *inode = page->mapping->host;
>  	int err;
>  
> -	if (inode && (inode->i_sb->s_flags & MS_RDONLY)) {
> +	if (inode->i_sb->s_flags & MS_RDONLY) {
>  		/*
>  		 * It means that filesystem was remounted in read-only
>  		 * mode because of error or metadata corruption. But we

I'll going to fix up the patch description and subject.  In particular,
the objective of this patch isn't really to fix a warning - it's to
remove some unneeded code.  The warning merely alerted us to its
presence.

From: Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
Subject: nilfs2: remove unneeded test in nilfs_writepage()

page->mapping->host cannot be NULL in nilfs_writepage(), so remove the
unneeded test.

The fixes the sparse warning: "fs/nilfs2/inode.c:211 nilfs_writepage()
error: we previously assumed 'inode' could be null (see line 195)".

Reported-by: Dan Carpenter <dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Signed-off-by: Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
Cc: Ryusuke Konishi <konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
Signed-off-by: Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
---

 fs/nilfs2/inode.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN fs/nilfs2/inode.c~nilfs2-fix-warning-in-nilfs_writepage fs/nilfs2/inode.c
--- a/fs/nilfs2/inode.c~nilfs2-fix-warning-in-nilfs_writepage
+++ a/fs/nilfs2/inode.c
@@ -192,7 +192,7 @@ static int nilfs_writepage(struct page *
 	struct inode *inode = page->mapping->host;
 	int err;
 
-	if (inode && (inode->i_sb->s_flags & MS_RDONLY)) {
+	if (inode->i_sb->s_flags & MS_RDONLY) {
 		/*
 		 * It means that filesystem was remounted in read-only
 		 * mode because of error or metadata corruption. But we
_

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] nilfs2: fix warning in nilfs_writepage()
       [not found]       ` <20130425134610.d26f087c0db29d0703736db3-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
@ 2013-04-25 20:55         ` Dan Carpenter
  0 siblings, 0 replies; 5+ messages in thread
From: Dan Carpenter @ 2013-04-25 20:55 UTC (permalink / raw)
  To: Andrew Morton
  Cc: slava-yeENwD64cLxBDgjK7y7TUQ, linux-nilfs-u79uwXL29TY76Z2rM5mHXA,
	kbuild-JC7UmRfGjtg, Ryusuke Konishi

On Thu, Apr 25, 2013 at 01:46:10PM -0700, Andrew Morton wrote:
> On Thu, 25 Apr 2013 13:38:35 +0400 Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org> wrote:
> 
> > On Thu, 2013-04-25 at 10:49 +0300, Dan Carpenter wrote:
> > > [ It's weird that kbuild didn't catch this ].
> > > 
> > > Hello Vyacheslav Dubeyko,
> > > 
> > > The patch bb594c4767b0: "nilfs2: fix issue with flush kernel thread
> > > after remount in RO mode because of driver's internal error or
> > > metadata corruption" from Apr 18, 2013, leads to the following 
> > > warning:
> > > "fs/nilfs2/inode.c:211 nilfs_writepage()
> > > 	 error: we previously assumed 'inode' could be null (see line 195)"
> > > 
> > 
> > Please, find below the patch with fix.
> > 
> > Thanks,
> > Vyacheslav Dubeyko.
> > --
> > From: Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
> > Subject: [PATCH] nilfs2: fix warning in nilfs_writepage()
> > 
> > The patch fixes warning: "fs/nilfs2/inode.c:211 nilfs_writepage() error: we previously assumed 'inode' could be null (see line 195)".
> 
> The changelog doesn't tell us what tool emitted the warning.  Was it sparse?
> 

That's my fault.  It's a Smatch warning.

regards,
dan carpenter


--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2013-04-25 20:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-25  7:49 nilfs2: fix issue with flush kernel thread after remount in RO mode because of driver's internal error or metadata corruption Dan Carpenter
     [not found] ` <20130425074947.GB11880-mgFCXtclrQlZLf2FXnZxJA@public.gmane.org>
2013-04-25  9:38   ` [PATCH] nilfs2: fix warning in nilfs_writepage() Vyacheslav Dubeyko
2013-04-25 20:46     ` Andrew Morton
     [not found]       ` <20130425134610.d26f087c0db29d0703736db3-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2013-04-25 20:55         ` Dan Carpenter
2013-04-25 14:00   ` [kbuild] nilfs2: fix issue with flush kernel thread after remount in RO mode because of driver's internal error or metadata corruption Fengguang Wu

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.