xiaowei.hu at oracle.com
2013-May-22 01:43 UTC
[Ocfs2-devel] [PATCH] ocfs2_prep_new_orphaned_file should return ret
From: "Xiaowei.Hu" <xiaowei.hu at oracle.com> --- fs/ocfs2/namei.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c index 50c93a8..422cbe0 100644 --- a/fs/ocfs2/namei.c +++ b/fs/ocfs2/namei.c @@ -2216,7 +2216,7 @@ out: brelse(orphan_dir_bh); - return 0; + return ret; } int ocfs2_create_inode_in_orphan(struct inode *dir, -- 1.7.11.7
shencanquan
2013-May-22 02:31 UTC
[Ocfs2-devel] [PATCH] ocfs2_prep_new_orphaned_file should return ret
if return 0, what's wrong with this? On 2013/5/22 9:43, xiaowei.hu at oracle.com wrote:> From: "Xiaowei.Hu"<xiaowei.hu at oracle.com> > > --- > fs/ocfs2/namei.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c > index 50c93a8..422cbe0 100644 > --- a/fs/ocfs2/namei.c > +++ b/fs/ocfs2/namei.c > @@ -2216,7 +2216,7 @@ out: > > brelse(orphan_dir_bh); > > - return 0; > + return ret; > } > > int ocfs2_create_inode_in_orphan(struct inode *dir,
Andrew Morton
2013-May-28 22:35 UTC
[Ocfs2-devel] [PATCH] ocfs2_prep_new_orphaned_file should return ret
On Wed, 22 May 2013 09:43:16 +0800 xiaowei.hu at oracle.com wrote:> From: "Xiaowei.Hu" <xiaowei.hu at oracle.com> > > --- > fs/ocfs2/namei.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c > index 50c93a8..422cbe0 100644 > --- a/fs/ocfs2/namei.c > +++ b/fs/ocfs2/namei.c > @@ -2216,7 +2216,7 @@ out: > > brelse(orphan_dir_bh); > > - return 0; > + return ret; > } > > int ocfs2_create_inode_in_orphan(struct inode *dir,The patch is missing your signed-off-by. I added it - please confirm this is OK. I also pulled together a changelog based on the discussion. Please do provide good changelogs. From: "Xiaowei.Hu" <xiaowei.hu at oracle.com> Subject: ocfs2: ocfs2_prep_new_orphaned_file() should return ret If an error occurs, for example an EIO in __ocfs2_prepare_orphan_dir, ocfs2_prep_new_orphaned_file will release the inode_ac, then when the caller of ocfs2_prep_new_orphaned_file gets a 0 return, it will refer to a NULL ocfs2_alloc_context struct in the following functions. A kernel panic happens. Signed-off-by: "Xiaowei.Hu" <xiaowei.hu at oracle.com> Reviewed-by: shencanquan <shencanquan at huawei.com> Acked-by: Sunil Mushran <sunil.mushran at gmail.com> Cc: Joe Jin <joe.jin at oracle.com> Cc: Mark Fasheh <mfasheh at suse.com> Cc: Joel Becker <jlbec at evilplan.org> Signed-off-by: Andrew Morton <akpm at linux-foundation.org> --- fs/ocfs2/namei.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN fs/ocfs2/namei.c~ocfs2-ocfs2_prep_new_orphaned_file-should-return-ret fs/ocfs2/namei.c --- a/fs/ocfs2/namei.c~ocfs2-ocfs2_prep_new_orphaned_file-should-return-ret +++ a/fs/ocfs2/namei.c @@ -2216,7 +2216,7 @@ out: brelse(orphan_dir_bh); - return 0; + return ret; } int ocfs2_create_inode_in_orphan(struct inode *dir, _