2009-12-14 23:59:32

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: ext3 tree build warning

Hi Jan,

Today's linux-next build (x86_64 allmodconfig) produced this warning:

fs/quota/dquot.c: In function 'dquot_alloc_inode':
fs/quota/dquot.c:1521: warning: passing argument 1 of 'mark_all_dquot_dirty' discards qualifiers from pointer target type
fs/quota/dquot.c:327: note: expected 'struct dquot **' but argument is of type 'struct dquot * const*'
fs/quota/dquot.c: In function 'dquot_free_inode':
fs/quota/dquot.c:1649: warning: passing argument 1 of 'mark_all_dquot_dirty' discards qualifiers from pointer target type
fs/quota/dquot.c:327: note: expected 'struct dquot **' but argument is of type 'struct dquot * const*'

Introduced by commit e91077e3d523c2ac2090b3447bf6244567cf7128 ("quota:
Move duplicated code to separate functions").

--
Cheers,
Stephen Rothwell [email protected]
http://www.canb.auug.org.au/~sfr/


Attachments:
(No filename) (853.00 B)
(No filename) (198.00 B)
Download all attachments

2009-12-15 09:58:40

by Dmitry Monakhov

[permalink] [raw]
Subject: Re: linux-next: ext3 tree build warning

2009/12/15 Stephen Rothwell <[email protected]>:
> Hi Jan,
>
> Today's linux-next build (x86_64 allmodconfig) produced this warning:
>
> fs/quota/dquot.c: In function 'dquot_alloc_inode':
> fs/quota/dquot.c:1521: warning: passing argument 1 of 'mark_all_dquot_dirty' discards qualifiers from pointer target type
> fs/quota/dquot.c:327: note: expected 'struct dquot **' but argument is of type 'struct dquot * const*'
> fs/quota/dquot.c: In function 'dquot_free_inode':
> fs/quota/dquot.c:1649: warning: passing argument 1 of 'mark_all_dquot_dirty' discards qualifiers from pointer target type
> fs/quota/dquot.c:327: note: expected 'struct dquot **' but argument is of type 'struct dquot * const*'
What's why my original patch contained type casts.
In fact i dont understand why {alloc,free}_inode accept pointer to
const struct inode, it's contradicts to normal logic
Even if inode is not in a good state, quta code may and must(what's
how it designed for now) change it internals.
>
> Introduced by commit e91077e3d523c2ac2090b3447bf6244567cf7128 ("quota:
> Move duplicated code to separate functions").
>
> --
> Cheers,
> Stephen Rothwell                    [email protected]
> http://www.canb.auug.org.au/~sfr/
>

2009-12-15 12:24:24

by Jan Kara

[permalink] [raw]
Subject: Re: linux-next: ext3 tree build warning

Hi Stephen,

On Tue 15-12-09 10:59:25, Stephen Rothwell wrote:
> Today's linux-next build (x86_64 allmodconfig) produced this warning:
>
> fs/quota/dquot.c: In function 'dquot_alloc_inode':
> fs/quota/dquot.c:1521: warning: passing argument 1 of 'mark_all_dquot_dirty' discards qualifiers from pointer target type
> fs/quota/dquot.c:327: note: expected 'struct dquot **' but argument is of type 'struct dquot * const*'
> fs/quota/dquot.c: In function 'dquot_free_inode':
> fs/quota/dquot.c:1649: warning: passing argument 1 of 'mark_all_dquot_dirty' discards qualifiers from pointer target type
> fs/quota/dquot.c:327: note: expected 'struct dquot **' but argument is of type 'struct dquot * const*'
>
> Introduced by commit e91077e3d523c2ac2090b3447bf6244567cf7128 ("quota:
> Move duplicated code to separate functions").
Sorry, I forgot to commit this compilation fix before pushing. It should
be fixed now.

Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR

2009-12-15 12:35:38

by Jan Kara

[permalink] [raw]
Subject: Re: linux-next: ext3 tree build warning

On Tue 15-12-09 12:58:36, Dmitry Monakhov wrote:
> 2009/12/15 Stephen Rothwell <[email protected]>:
> > Hi Jan,
> >
> > Today's linux-next build (x86_64 allmodconfig) produced this warning:
> >
> > fs/quota/dquot.c: In function 'dquot_alloc_inode':
> > fs/quota/dquot.c:1521: warning: passing argument 1 of 'mark_all_dquot_dirty' discards qualifiers from pointer target type
> > fs/quota/dquot.c:327: note: expected 'struct dquot **' but argument is of type 'struct dquot * const*'
> > fs/quota/dquot.c: In function 'dquot_free_inode':
> > fs/quota/dquot.c:1649: warning: passing argument 1 of 'mark_all_dquot_dirty' discards qualifiers from pointer target type
> > fs/quota/dquot.c:327: note: expected 'struct dquot **' but argument is of type 'struct dquot * const*'
> What's why my original patch contained type casts.
> In fact i dont understand why {alloc,free}_inode accept pointer to
> const struct inode, it's contradicts to normal logic
Does it? The 'const' keyword just promises we won't change struct inode.
And that is true. We only change structures that are pointed to from the
inode. So the code is correct as is.

Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR

2009-12-15 12:58:54

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: ext3 tree build warning

Hi Jan,

On Tue, 15 Dec 2009 13:24:16 +0100 Jan Kara <[email protected]> wrote:
>
> Sorry, I forgot to commit this compilation fix before pushing. It should
> be fixed now.

Thanks.

--
Cheers,
Stephen Rothwell [email protected]
http://www.canb.auug.org.au/~sfr/


Attachments:
(No filename) (283.00 B)
(No filename) (198.00 B)
Download all attachments