Messages in this thread | | | Date | Sun, 3 May 2015 20:15:50 +0200 (CEST) | From | Fabian Frederick <> | Subject | Re: [PATCH 1/1 linux-next] affs: add default case in switch |
| |
> On 03 May 2015 at 16:51 Richard Weinberger <richard.weinberger@gmail.com> > wrote: > > > On Sat, May 2, 2015 at 8:56 PM, Fabian Frederick <fabf@skynet.be> wrote: > > Fix gcc -Wswitch-default warnings > > > > Cc: Andrew Morton <akpm@linux-foundation.org> > > Signed-off-by: Fabian Frederick <fabf@skynet.be> > > --- > > fs/affs/inode.c | 2 ++ > > fs/affs/namei.c | 3 +++ > > 2 files changed, 5 insertions(+) > > > > diff --git a/fs/affs/inode.c b/fs/affs/inode.c > > index 1734950..623398e 100644 > > --- a/fs/affs/inode.c > > +++ b/fs/affs/inode.c > > @@ -143,6 +143,8 @@ struct inode *affs_iget(struct super_block *sb, unsigned > > long ino) > > inode->i_op = &affs_symlink_inode_operations; > > inode->i_data.a_ops = &affs_symlink_aops; > > break; > > + default: > > + break; > > } > > > > inode->i_mtime.tv_sec = inode->i_atime.tv_sec = > >inode->i_ctime.tv_sec > > diff --git a/fs/affs/namei.c b/fs/affs/namei.c > > index 181e05b..517926d 100644 > > --- a/fs/affs/namei.c > > +++ b/fs/affs/namei.c > > @@ -237,6 +237,9 @@ affs_lookup(struct inode *dir, struct dentry *dentry, > > unsigned int flags) > > //case ST_LINKDIR: > > case ST_LINKFILE: > > ino = be32_to_cpu(AFFS_TAIL(sb, bh)->original); > > + break; > > + default: > > + break; > > How can this code path be reached? > If I read your patch correctly it just silences gcc. > > If the code can be reached you need to take a proper action of not the > warning is bogus.
As far as I understand, switch in affs_lookup() only updates inode number when it's a link so we can simply add default:break to silence gcc warning or replace by if().
affs_iget() switch on the other hand applies to any type of file. Maybe we could add default: BUG() to avoid working on bad inode ?
Regards, Fabian > > -- > Thanks, > //richard
| |