Skip to contentSkip to conversation

mm snapshot broken-out-2007-11-06-02-32 - conflict in vxfs_iget ()

PATCH In review Kamalesh Babulal 2 participants 2 messages Nov 6, 2007 s390

lore
Share & tools
lore
#0 lore raw

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.o
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 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 as
vxfs_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_ino
 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 *sbp, ino_t ino);
 extern void			vxfs_clear_inode(struct inode *);
 
 /* vxfs_lookup.c */

--
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.

#1 lore raw
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
index f307694..2b46064 100644
@@ -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 */