tux3 doesn't compile on 3.2.0

Prashant Shah pshah.mumbai at gmail.com
Fri Jan 4 10:29:48 PST 2013


Hi,

Had to include this header in tux3.h
#include <linux/slab.h>

Even after that I get these error :

make -C /lib/modules/`uname -r`/build/ M=`pwd` CONFIG_TUX3=m modules
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-23-generic'
  CC [M]  /home/prashants/temp/tux3/user/kernel/filemap.o
/home/prashants/temp/tux3/user/kernel/filemap.c: In function
‘tux3_da_write_begin’:
/home/prashants/temp/tux3/user/kernel/filemap.c:557:6: error: passing
argument 1 of ‘block_write_begin’ from incompatible pointer type
[-Werror]
include/linux/buffer_head.h:204:5: note: expected ‘struct
address_space *’ but argument is of type ‘struct file *’
/home/prashants/temp/tux3/user/kernel/filemap.c:557:6: error: passing
argument 2 of ‘block_write_begin’ makes integer from pointer without a
cast [-Werror]
include/linux/buffer_head.h:204:5: note: expected ‘loff_t’ but
argument is of type ‘struct address_space *’
/home/prashants/temp/tux3/user/kernel/filemap.c:557:6: error: passing
argument 5 of ‘block_write_begin’ makes pointer from integer without a
cast [-Werror]
include/linux/buffer_head.h:204:5: note: expected ‘struct page **’ but
argument is of type ‘unsigned int’
/home/prashants/temp/tux3/user/kernel/filemap.c:557:6: error: passing
argument 6 of ‘block_write_begin’ from incompatible pointer type
[-Werror]
include/linux/buffer_head.h:204:5: note: expected ‘int (*)(struct
inode *, sector_t,  struct buffer_head *, int)’ but argument is of
type ‘struct page **’
/home/prashants/temp/tux3/user/kernel/filemap.c:557:6: error: too many
arguments to function ‘block_write_begin’
include/linux/buffer_head.h:204:5: note: declared here
/home/prashants/temp/tux3/user/kernel/filemap.c: In function ‘tux3_direct_IO’:
/home/prashants/temp/tux3/user/kernel/filemap.c:585:7: error: passing
argument 4 of ‘blockdev_direct_IO’ from incompatible pointer type
[-Werror]
include/linux/fs.h:2491:23: note: expected ‘const struct iovec *’ but
argument is of type ‘struct block_device *’
/home/prashants/temp/tux3/user/kernel/filemap.c:585:7: error: passing
argument 5 of ‘blockdev_direct_IO’ makes integer from pointer without
a cast [-Werror]
include/linux/fs.h:2491:23: note: expected ‘loff_t’ but argument is of
type ‘const struct iovec *’
/home/prashants/temp/tux3/user/kernel/filemap.c:585:7: error: passing
argument 7 of ‘blockdev_direct_IO’ makes pointer from integer without
a cast [-Werror]
include/linux/fs.h:2491:23: note: expected ‘int (*)(struct inode *,
sector_t,  struct buffer_head *, int)’ but argument is of type ‘long
unsigned int’
/home/prashants/temp/tux3/user/kernel/filemap.c:585:7: error: too many
arguments to function ‘blockdev_direct_IO’
include/linux/fs.h:2491:23: note: declared here
/home/prashants/temp/tux3/user/kernel/filemap.c: At top level:
/home/prashants/temp/tux3/user/kernel/filemap.c:604:2: error: unknown
field ‘sync_page’ specified in initializer
/home/prashants/temp/tux3/user/kernel/filemap.c:604:16: error:
‘block_sync_page’ undeclared here (not in a function)
/home/prashants/temp/tux3/user/kernel/filemap.c:629:2: error: unknown
field ‘sync_page’ specified in initializer
/home/prashants/temp/tux3/user/kernel/filemap.c: In function
‘tux3_vol_write_begin’:
/home/prashants/temp/tux3/user/kernel/filemap.c:662:6: error: passing
argument 1 of ‘block_write_begin’ from incompatible pointer type
[-Werror]
include/linux/buffer_head.h:204:5: note: expected ‘struct
address_space *’ but argument is of type ‘struct file *’
/home/prashants/temp/tux3/user/kernel/filemap.c:662:6: error: passing
argument 2 of ‘block_write_begin’ makes integer from pointer without a
cast [-Werror]
include/linux/buffer_head.h:204:5: note: expected ‘loff_t’ but
argument is of type ‘struct address_space *’
/home/prashants/temp/tux3/user/kernel/filemap.c:662:6: error: passing
argument 5 of ‘block_write_begin’ makes pointer from integer without a
cast [-Werror]
include/linux/buffer_head.h:204:5: note: expected ‘struct page **’ but
argument is of type ‘unsigned int’
/home/prashants/temp/tux3/user/kernel/filemap.c:662:6: error: passing
argument 6 of ‘block_write_begin’ from incompatible pointer type
[-Werror]
include/linux/buffer_head.h:204:5: note: expected ‘int (*)(struct
inode *, sector_t,  struct buffer_head *, int)’ but argument is of
type ‘struct page **’
/home/prashants/temp/tux3/user/kernel/filemap.c:662:6: error: too many
arguments to function ‘block_write_begin’
include/linux/buffer_head.h:204:5: note: declared here
/home/prashants/temp/tux3/user/kernel/filemap.c: At top level:
/home/prashants/temp/tux3/user/kernel/filemap.c:668:2: error: unknown
field ‘sync_page’ specified in initializer
cc1: all warnings being treated as errors



More information about the Tux3 mailing list