Jan Kara
2008-Oct-20 17:23 UTC
[Ocfs2-devel] [PATCH] ocfs2: Fix check of return value of ocfs2_start_trans()
On failure, ocfs2_start_trans() returns values like ERR_PTR(-ENOMEM). Thus checks for !handle are wrong. Fix them to use IS_ERR(). Signed-off-by: Jan Kara <jack at suse.cz> --- fs/ocfs2/file.c | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index ec2ed15..89dc20e 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c @@ -246,8 +246,8 @@ int ocfs2_update_inode_atime(struct inode *inode, mlog_entry_void(); handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); - if (handle == NULL) { - ret = -ENOMEM; + if (IS_ERR(handle)) { + ret = PTR_ERR(handle); mlog_errno(ret); goto out; } @@ -311,8 +311,8 @@ static int ocfs2_simple_size_update(struct inode *inode, handle_t *handle = NULL; handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); - if (handle == NULL) { - ret = -ENOMEM; + if (IS_ERR(handle)) { + ret = PTR_ERR(handle); mlog_errno(ret); goto out; } @@ -1209,8 +1209,8 @@ static int __ocfs2_write_remove_suid(struct inode *inode, (unsigned long long)OCFS2_I(inode)->ip_blkno, inode->i_mode); handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); - if (handle == NULL) { - ret = -ENOMEM; + if (IS_ERR(handle)) { + ret = PTR_ERR(handle); mlog_errno(ret); goto out; } @@ -1412,8 +1412,8 @@ static int __ocfs2_remove_inode_range(struct inode *inode, } handle = ocfs2_start_trans(osb, OCFS2_REMOVE_EXTENT_CREDITS); - if (handle == NULL) { - ret = -ENOMEM; + if (IS_ERR(handle)) { + ret = PTR_ERR(handle); mlog_errno(ret); goto out; } @@ -1505,8 +1505,8 @@ static int ocfs2_zero_partial_clusters(struct inode *inode, goto out; handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); - if (handle == NULL) { - ret = -ENOMEM; + if (IS_ERR(handle)) { + ret = PTR_ERR(handle); mlog_errno(ret); goto out; } -- 1.5.2.4
Joel Becker
2008-Oct-21 20:26 UTC
[Ocfs2-devel] [PATCH] ocfs2: Fix check of return value of ocfs2_start_trans()
On Mon, Oct 20, 2008 at 07:23:51PM +0200, Jan Kara wrote:> On failure, ocfs2_start_trans() returns values like ERR_PTR(-ENOMEM). > Thus checks for !handle are wrong. Fix them to use IS_ERR(). > > Signed-off-by: Jan Kara <jack at suse.cz>Signed-off-by: Joel Becker <joel.becker at oracle.com> This should go upstream. There are two more in xattr.c (not in the sources Jan had). Joel> --- > fs/ocfs2/file.c | 20 ++++++++++---------- > 1 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c > index ec2ed15..89dc20e 100644 > --- a/fs/ocfs2/file.c > +++ b/fs/ocfs2/file.c > @@ -246,8 +246,8 @@ int ocfs2_update_inode_atime(struct inode *inode, > mlog_entry_void(); > > handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); > - if (handle == NULL) { > - ret = -ENOMEM; > + if (IS_ERR(handle)) { > + ret = PTR_ERR(handle); > mlog_errno(ret); > goto out; > } > @@ -311,8 +311,8 @@ static int ocfs2_simple_size_update(struct inode *inode, > handle_t *handle = NULL; > > handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); > - if (handle == NULL) { > - ret = -ENOMEM; > + if (IS_ERR(handle)) { > + ret = PTR_ERR(handle); > mlog_errno(ret); > goto out; > } > @@ -1209,8 +1209,8 @@ static int __ocfs2_write_remove_suid(struct inode *inode, > (unsigned long long)OCFS2_I(inode)->ip_blkno, inode->i_mode); > > handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); > - if (handle == NULL) { > - ret = -ENOMEM; > + if (IS_ERR(handle)) { > + ret = PTR_ERR(handle); > mlog_errno(ret); > goto out; > } > @@ -1412,8 +1412,8 @@ static int __ocfs2_remove_inode_range(struct inode *inode, > } > > handle = ocfs2_start_trans(osb, OCFS2_REMOVE_EXTENT_CREDITS); > - if (handle == NULL) { > - ret = -ENOMEM; > + if (IS_ERR(handle)) { > + ret = PTR_ERR(handle); > mlog_errno(ret); > goto out; > } > @@ -1505,8 +1505,8 @@ static int ocfs2_zero_partial_clusters(struct inode *inode, > goto out; > > handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); > - if (handle == NULL) { > - ret = -ENOMEM; > + if (IS_ERR(handle)) { > + ret = PTR_ERR(handle); > mlog_errno(ret); > goto out; > } > -- > 1.5.2.4 > > > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > http://oss.oracle.com/mailman/listinfo/ocfs2-devel-- Life's Little Instruction Book #3 "Watch a sunrise at least once a year." Joel Becker Principal Software Developer Oracle E-mail: joel.becker at oracle.com Phone: (650) 506-8127
Jan Kara
2008-Oct-22 10:07 UTC
[Ocfs2-devel] [PATCH] ocfs2: Fix check of return value of ocfs2_start_trans()
On Tue 21-10-08 13:26:18, Joel Becker wrote:> On Mon, Oct 20, 2008 at 07:23:51PM +0200, Jan Kara wrote: > > On failure, ocfs2_start_trans() returns values like ERR_PTR(-ENOMEM). > > Thus checks for !handle are wrong. Fix them to use IS_ERR(). > > > > Signed-off-by: Jan Kara <jack at suse.cz> > Signed-off-by: Joel Becker <joel.becker at oracle.com> > > This should go upstream. There are two more in xattr.c (not in the > sources Jan had).I have the feeling I even sent this patch to Mark once but maybe it got lost... Mark? Should I resend you the patch?> > --- > > fs/ocfs2/file.c | 20 ++++++++++---------- > > 1 files changed, 10 insertions(+), 10 deletions(-) > > > > diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c > > index ec2ed15..89dc20e 100644 > > --- a/fs/ocfs2/file.c > > +++ b/fs/ocfs2/file.c > > @@ -246,8 +246,8 @@ int ocfs2_update_inode_atime(struct inode *inode, > > mlog_entry_void(); > > > > handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); > > - if (handle == NULL) { > > - ret = -ENOMEM; > > + if (IS_ERR(handle)) { > > + ret = PTR_ERR(handle); > > mlog_errno(ret); > > goto out; > > } > > @@ -311,8 +311,8 @@ static int ocfs2_simple_size_update(struct inode *inode, > > handle_t *handle = NULL; > > > > handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); > > - if (handle == NULL) { > > - ret = -ENOMEM; > > + if (IS_ERR(handle)) { > > + ret = PTR_ERR(handle); > > mlog_errno(ret); > > goto out; > > } > > @@ -1209,8 +1209,8 @@ static int __ocfs2_write_remove_suid(struct inode *inode, > > (unsigned long long)OCFS2_I(inode)->ip_blkno, inode->i_mode); > > > > handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); > > - if (handle == NULL) { > > - ret = -ENOMEM; > > + if (IS_ERR(handle)) { > > + ret = PTR_ERR(handle); > > mlog_errno(ret); > > goto out; > > } > > @@ -1412,8 +1412,8 @@ static int __ocfs2_remove_inode_range(struct inode *inode, > > } > > > > handle = ocfs2_start_trans(osb, OCFS2_REMOVE_EXTENT_CREDITS); > > - if (handle == NULL) { > > - ret = -ENOMEM; > > + if (IS_ERR(handle)) { > > + ret = PTR_ERR(handle); > > mlog_errno(ret); > > goto out; > > } > > @@ -1505,8 +1505,8 @@ static int ocfs2_zero_partial_clusters(struct inode *inode, > > goto out; > > > > handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); > > - if (handle == NULL) { > > - ret = -ENOMEM; > > + if (IS_ERR(handle)) { > > + ret = PTR_ERR(handle); > > mlog_errno(ret); > > goto out; > > } > > -- > > 1.5.2.4Honza -- Jan Kara <jack at suse.cz> SUSE Labs, CR