Re: 2.6.17-rc4-mm1

Alexey Dobriyan
2006-05-15T18:02:53Z

On Mon, May 15, 2006 at 10:01:44AM -0700, Andrew Morton wrote:
> Alexey Dobriyan <adobriyan@gmail.com> wrote:
> >
> > > - Added the ecryptfs filesystem
> >
> > CC [M] fs/ecryptfs/super.o
> > fs/ecryptfs/super.c: In function `ecryptfs_statfs':
> > fs/ecryptfs/super.c:129: warning: passing arg 1 of `vfs_statfs' from incompatible pointer type
> > fs/ecryptfs/super.c: At top level:
> > fs/ecryptfs/super.c:207: warning: initialization from incompatible pointer type
>
> hm, I wonder why I didn't notice that.
>
> > * ->statfs wants vfsmount as first argument
> > * ecryptfs_statfs() is inlined
>
> yup. Fixed a bunch of those, let one slip through.
>
> I don't immediately see how to fix this one, actually:
>
> static inline int ecryptfs_statfs(struct super_block *sb, struct kstatfs *buf)
> {
> return vfs_statfs(ecryptfs_superblock_to_lower(sb), buf);
> }
>
> Once we've run ecryptfs_superblock_to_lower() to get the "lower
> superblock", we need to turn that back into a vfsmount for vfs_statfs()..
>
> (and that function needn't have been inlined - it's only ever called
> indirectly)
>
> I think I'll be dropping the fs-cache patches (again) fairly soon. They're
> intrusive, quite some effort to carry, they're not getting adequate review
> (afaict) and there doesn't seem to be a lot of demand for them, sorry.

Silly me. GFS2 is guilty too

fs/gfs2/ops_super.c:371: warning: initialization from incompatible pointer type

static int gfs2_statfs(struct super_block *sb, struct kstatfs *buf)