mm snapshot broken-out-2007-11-06-02-32 - conflict in vxfs_iget ()
PATCH 1/1 mm snapshot broken-out-2007-11-06-02-32 - conflict in vxfs_iget ()
Hi Andrew,
The kernel build fails on S390, with error
CC [M] fs/freevxfs/vxfs_inode.ofs/freevxfs/vxfs_inode.c:298: error: conflicting types for 'vxfs_iget' fs/freevxfs/vxfs_extern.h:61: error: previous declaration of 'vxfs_iget' was here fs/freevxfs/vxfs_inode.c:298: error: conflicting types for 'vxfs_iget' fs/freevxfs/vxfs_extern.h:61: error: previous declaration of 'vxfs_iget' was here make[2]: *** [fs/freevxfs/vxfs_inode.o] Error 1
make[1]: *** [fs/freevxfs] Error 2
make: *** [fs] Error 2
This error is caused by iget-stop-freevxfs-from-using-iget-and-read_inode.patch, where the function proto type is declared asvxfs_iget(struct super_block *, unsigned long) and defined as vxfs_iget(struct super_block *sbp, ino_t ino)
This patch has been tested for the buid failure.
--
fs/freevxfs/~vxfs_extern.h renamed from fs/freevxfs/vxfs_extern.h +1 -1
@@ -58,7 +58,7 @@ extern struct inode * vxfs_get_fake_inoextern void vxfs_put_fake_inode (struct inode *);extern struct vxfs_inode_info *vxfs_blkiget (struct super_block *,u_long ,ino_t );extern struct vxfs_inode_info *vxfs_stiget (struct super_block *,ino_t ); -extern struct inode *vxfs_iget (struct super_block *,unsigned long ); +extern struct inode *vxfs_iget (struct super_block *sbp,ino_t ino);extern void vxfs_clear_inode (struct inode *);/* vxfs_lookup.c */
--
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.
Quoted 1 line · Kamalesh Babulal
The kernel build fails on S390, with error
I gave Andrew the attached patch which is very similar to yours.
David
Use ino_t consistently for vxfs_iget() and its declaration, rather than using ino_t for one and unsigned long for the other.
---
fs/freevxfs/vxfs_extern.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
fs/freevxfs/vxfs_extern.h +1 -1
@@ -58,7 +58,7 @@ extern struct inode * vxfs_get_fake_inode(struct super_block *,extern void vxfs_put_fake_inode (struct inode *);extern struct vxfs_inode_info *vxfs_blkiget (struct super_block *,u_long ,ino_t );extern struct vxfs_inode_info *vxfs_stiget (struct super_block *,ino_t ); -extern struct inode *vxfs_iget (struct super_block *,unsigned long ); +extern struct inode *vxfs_iget (struct super_block *,ino_t );extern void vxfs_clear_inode (struct inode *);/* vxfs_lookup.c */