tux3 doesn't compile on 3.2.0

Prashant Shah pshah.mumbai at gmail.com
Fri Jan 11 10:26:13 PST 2013


Hi,

On Sat, Jan 5, 2013 at 4:38 AM, OGAWA Hirofumi
<hirofumi at mail.parknet.co.jp> wrote:
> Prashant Shah <pshah.mumbai at gmail.com> writes:
>
>> Hi,
>>
>> Had to include this header in tux3.h
>> #include <linux/slab.h>
>>

> Yes. Current tux3/user/kernel is for 3.6.6. There were some changes of
> interface in kernel core between 3.2.0 and 3.6.6.

I am getting these errors on 3.6.6 including the kmalloc/kfree error
that was solved by including the linux/slab.h

prashants at duex:~/projects/fs/tux3/user/kernel$ make
make -C /lib/modules/`uname -r`/build/ M=`pwd` CONFIG_TUX3=m modules
make[1]: Entering directory `/home/prashants/kernel/linux-3.6.6'
  CC [M]  /home/prashants/projects/fs/tux3/user/kernel/balloc.o
  CC [M]  /home/prashants/projects/fs/tux3/user/kernel/btree.o
  CC [M]  /home/prashants/projects/fs/tux3/user/kernel/dir.o
  CC [M]  /home/prashants/projects/fs/tux3/user/kernel/dleaf.o
  CC [M]  /home/prashants/projects/fs/tux3/user/kernel/filemap.o
/home/prashants/projects/fs/tux3/user/kernel/filemap.c: In function
‘tux3_da_write_begin’:
/home/prashants/projects/fs/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/projects/fs/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/projects/fs/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/projects/fs/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/projects/fs/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/projects/fs/tux3/user/kernel/filemap.c: In function
‘tux3_direct_IO’:
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:585:7: error:
passing argument 4 of ‘blockdev_direct_IO’ from incompatible pointer
type [-Werror]
include/linux/fs.h:2628:23: note: expected ‘const struct iovec *’ but
argument is of type ‘struct block_device *’
/home/prashants/projects/fs/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:2628:23: note: expected ‘loff_t’ but argument is of
type ‘const struct iovec *’
/home/prashants/projects/fs/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:2628:23: note: expected ‘int (*)(struct inode *,
sector_t,  struct buffer_head *, int)’ but argument is of type ‘long
unsigned int’
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:585:7: error:
too many arguments to function ‘blockdev_direct_IO’
include/linux/fs.h:2628:23: note: declared here
/home/prashants/projects/fs/tux3/user/kernel/filemap.c: At top level:
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:604:2: error:
unknown field ‘sync_page’ specified in initializer
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:604:2: error:
initialization from incompatible pointer type [-Werror]
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:604:2: error:
(near initialization for ‘tux_aops.readpage’) [-Werror]
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:629:2: error:
unknown field ‘sync_page’ specified in initializer
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:629:2: error:
initialization from incompatible pointer type [-Werror]
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:629:2: error:
(near initialization for ‘tux_blk_aops.readpage’) [-Werror]
/home/prashants/projects/fs/tux3/user/kernel/filemap.c: In function
‘tux3_vol_write_begin’:
/home/prashants/projects/fs/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/projects/fs/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/projects/fs/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/projects/fs/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/projects/fs/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/projects/fs/tux3/user/kernel/filemap.c: At top level:
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:668:2: error:
unknown field ‘sync_page’ specified in initializer
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:668:2: error:
initialization from incompatible pointer type [-Werror]
/home/prashants/projects/fs/tux3/user/kernel/filemap.c:668:2: error:
(near initialization for ‘tux_vol_aops.readpage’) [-Werror]
cc1: all warnings being treated as errors
make[2]: *** [/home/prashants/projects/fs/tux3/user/kernel/filemap.o] Error 1
make[1]: *** [_module_/home/prashants/projects/fs/tux3/user/kernel] Error 2
make[1]: Leaving directory `/home/prashants/kernel/linux-3.6.6'




More information about the Tux3 mailing list