Tao Ma
2009-Mar-18 21:08 UTC
[Ocfs2-devel] [PATCH] ocfs2: Fix 2 warning during ocfs2 make.
fs/ocfs2/dir.c: In function ?ocfs2_extend_dir?: fs/ocfs2/dir.c:2700: warning: ?ret? may be used uninitialized in this function fs/ocfs2/suballoc.c: In function ?ocfs2_get_suballoc_slot_bit?: fs/ocfs2/suballoc.c:2216: warning: comparison is always true due to limited range of data type Signed-off-by: Tao Ma <tao.ma at oracle.com> --- fs/ocfs2/dir.c | 2 +- fs/ocfs2/suballoc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c index e71160c..eeac241 100644 --- a/fs/ocfs2/dir.c +++ b/fs/ocfs2/dir.c @@ -2697,7 +2697,7 @@ static int ocfs2_dx_dir_index_block(struct inode *dir, u32 *num_dx_entries, struct buffer_head *dirent_bh) { - int ret, namelen, i; + int ret = 0, namelen, i; char *de_buf, *limit; struct ocfs2_dir_entry *de; struct buffer_head *dx_leaf_bh; diff --git a/fs/ocfs2/suballoc.c b/fs/ocfs2/suballoc.c index b4ca591..eb21dbb 100644 --- a/fs/ocfs2/suballoc.c +++ b/fs/ocfs2/suballoc.c @@ -2213,7 +2213,7 @@ static int ocfs2_get_suballoc_slot_bit(struct ocfs2_super *osb, u64 blkno, goto bail; } - if (le16_to_cpu(inode_fe->i_suballoc_slot) != OCFS2_INVALID_SLOT && + if (le16_to_cpu(inode_fe->i_suballoc_slot) != (u16)OCFS2_INVALID_SLOT && (u32)le16_to_cpu(inode_fe->i_suballoc_slot) > osb->max_slots - 1) { mlog(ML_ERROR, "inode %llu has invalid suballoc slot %u\n", blkno, (u32)le16_to_cpu(inode_fe->i_suballoc_slot)); -- 1.6.2.rc2.16.gf474c
Wengang Wang
2009-Mar-19 06:28 UTC
[Ocfs2-devel] [PATCH] ocfs2: Fix 2 warning during ocfs2 make.
Hi Tao, I think for the OCFS2_INVALID_SLOT problem, define OCFS2_INVALID_SLOT as (u16)-1 is better. so that we needn't force convert type wherever it's used. --- fs/ocfs2/ocfs2_fs.h 2009-02-18 19:58:02.000000000 +0800 +++ fs/ocfs2/ocfs2_fs.h.1 2009-03-19 14:24:18.000000000 +0800 @@ -303,7 +303,7 @@ struct ocfs2_new_group_input { #define OCFS2_MAX_SLOTS 255 /* Slot map indicator for an empty slot */ -#define OCFS2_INVALID_SLOT -1 +#define OCFS2_INVALID_SLOT (u16)-1 #define OCFS2_VOL_UUID_LEN 16 #define OCFS2_MAX_VOL_LABEL_LEN 64 I didn't paste the part for removing force type converting. thanks, wengang. Tao Ma wrote:> fs/ocfs2/dir.c: In function ?ocfs2_extend_dir?: > fs/ocfs2/dir.c:2700: warning: ?ret? may be used uninitialized in this function > > fs/ocfs2/suballoc.c: In function ?ocfs2_get_suballoc_slot_bit?: > fs/ocfs2/suballoc.c:2216: warning: comparison is always true due to limited range of data type > > Signed-off-by: Tao Ma <tao.ma at oracle.com> > --- > fs/ocfs2/dir.c | 2 +- > fs/ocfs2/suballoc.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c > index e71160c..eeac241 100644 > --- a/fs/ocfs2/dir.c > +++ b/fs/ocfs2/dir.c > @@ -2697,7 +2697,7 @@ static int ocfs2_dx_dir_index_block(struct inode *dir, > u32 *num_dx_entries, > struct buffer_head *dirent_bh) > { > - int ret, namelen, i; > + int ret = 0, namelen, i; > char *de_buf, *limit; > struct ocfs2_dir_entry *de; > struct buffer_head *dx_leaf_bh; > diff --git a/fs/ocfs2/suballoc.c b/fs/ocfs2/suballoc.c > index b4ca591..eb21dbb 100644 > --- a/fs/ocfs2/suballoc.c > +++ b/fs/ocfs2/suballoc.c > @@ -2213,7 +2213,7 @@ static int ocfs2_get_suballoc_slot_bit(struct ocfs2_super *osb, u64 blkno, > goto bail; > } > > - if (le16_to_cpu(inode_fe->i_suballoc_slot) != OCFS2_INVALID_SLOT && > + if (le16_to_cpu(inode_fe->i_suballoc_slot) != (u16)OCFS2_INVALID_SLOT && > (u32)le16_to_cpu(inode_fe->i_suballoc_slot) > osb->max_slots - 1) { > mlog(ML_ERROR, "inode %llu has invalid suballoc slot %u\n", > blkno, (u32)le16_to_cpu(inode_fe->i_suballoc_slot));
Joel Becker
2009-Mar-19 22:07 UTC
[Ocfs2-devel] [PATCH] ocfs2: Fix 2 warning during ocfs2 make.
On Thu, Mar 19, 2009 at 05:08:43AM +0800, Tao Ma wrote:> fs/ocfs2/dir.c: In function ?ocfs2_extend_dir?: > fs/ocfs2/dir.c:2700: warning: ?ret? may be used uninitialized in this function > > fs/ocfs2/suballoc.c: In function ?ocfs2_get_suballoc_slot_bit?: > fs/ocfs2/suballoc.c:2216: warning: comparison is always true due to limited range of data type > > Signed-off-by: Tao Ma <tao.ma at oracle.com>Good catch. Both are bugs, and both are correctly fixed. Acked-by: Joel Becker <joel.becker at oracle.com>> --- > fs/ocfs2/dir.c | 2 +- > fs/ocfs2/suballoc.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c > index e71160c..eeac241 100644 > --- a/fs/ocfs2/dir.c > +++ b/fs/ocfs2/dir.c > @@ -2697,7 +2697,7 @@ static int ocfs2_dx_dir_index_block(struct inode *dir, > u32 *num_dx_entries, > struct buffer_head *dirent_bh) > { > - int ret, namelen, i; > + int ret = 0, namelen, i; > char *de_buf, *limit; > struct ocfs2_dir_entry *de; > struct buffer_head *dx_leaf_bh; > diff --git a/fs/ocfs2/suballoc.c b/fs/ocfs2/suballoc.c > index b4ca591..eb21dbb 100644 > --- a/fs/ocfs2/suballoc.c > +++ b/fs/ocfs2/suballoc.c > @@ -2213,7 +2213,7 @@ static int ocfs2_get_suballoc_slot_bit(struct ocfs2_super *osb, u64 blkno, > goto bail; > } > > - if (le16_to_cpu(inode_fe->i_suballoc_slot) != OCFS2_INVALID_SLOT && > + if (le16_to_cpu(inode_fe->i_suballoc_slot) != (u16)OCFS2_INVALID_SLOT && > (u32)le16_to_cpu(inode_fe->i_suballoc_slot) > osb->max_slots - 1) { > mlog(ML_ERROR, "inode %llu has invalid suballoc slot %u\n", > blkno, (u32)le16_to_cpu(inode_fe->i_suballoc_slot)); > -- > 1.6.2.rc2.16.gf474c > > > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > http://oss.oracle.com/mailman/listinfo/ocfs2-devel-- Pitchers and catchers report. Joel Becker Principal Software Developer Oracle E-mail: joel.becker at oracle.com Phone: (650) 506-8127
Mark Fasheh
2009-Mar-20 00:38 UTC
[Ocfs2-devel] [PATCH] ocfs2: Fix 2 warning during ocfs2 make.
On Thu, Mar 19, 2009 at 05:08:43AM +0800, Tao Ma wrote:> fs/ocfs2/dir.c: In function ?ocfs2_extend_dir?: > fs/ocfs2/dir.c:2700: warning: ?ret? may be used uninitialized in this function > > fs/ocfs2/suballoc.c: In function ?ocfs2_get_suballoc_slot_bit?: > fs/ocfs2/suballoc.c:2216: warning: comparison is always true due to limited range of data typeDoes the 2nd bug still exist in merge_window? I didn't see it, so I just merged the 1st one into merge_window. --Mark -- Mark Fasheh