* 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[parent not found: <20130425074947.GB11880-mgFCXtclrQlZLf2FXnZxJA@public.gmane.org>]
* [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: [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
[parent not found: <20130425134610.d26f087c0db29d0703736db3-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>]
* 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
* 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
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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox