Compile error of latest hotfix release of btrfs
Hi,
I use Kubuntu-8.10 with custom kernel 2.6.28-rc2 and my gcc version is "gcc (Ubuntu 4.3.2-1ubuntu11) 4.3.2". When I tried to compile latest btrfs source, I got these error messages :
tarkane@tarkane:/media/disk/kernel-417d87e57364$ make bash version.sh make -C /lib/modules/`uname -r`/build M=`pwd` modules make[1]: Entering directory `/usr/src/linux-2.6.28-rc2' CC [M] /media/disk/kernel-417d87e57364/super.o CC [M] /media/disk/kernel-417d87e57364/ctree.o CC [M] /media/disk/kernel-417d87e57364/extent-tree.o CC [M] /media/disk/kernel-417d87e57364/print-tree.o CC [M] /media/disk/kernel-417d87e57364/root-tree.o CC [M] /media/disk/kernel-417d87e57364/dir-item.o CC [M] /media/disk/kernel-417d87e57364/hash.o CC [M] /media/disk/kernel-417d87e57364/file-item.o CC [M] /media/disk/kernel-417d87e57364/inode-item.o CC [M] /media/disk/kernel-417d87e57364/inode-map.o CC [M] /media/disk/kernel-417d87e57364/disk-io.o CC [M] /media/disk/kernel-417d87e57364/transaction.o CC [M] /media/disk/kernel-417d87e57364/bit-radix.o CC [M] /media/disk/kernel-417d87e57364/inode.o CC [M] /media/disk/kernel-417d87e57364/file.o CC [M] /media/disk/kernel-417d87e57364/tree-defrag.o CC [M] /media/disk/kernel-417d87e57364/extent_map.o CC [M] /media/disk/kernel-417d87e57364/sysfs.o CC [M] /media/disk/kernel-417d87e57364/struct-funcs.o CC [M] /media/disk/kernel-417d87e57364/xattr.o CC [M] /media/disk/kernel-417d87e57364/ordered-data.o CC [M] /media/disk/kernel-417d87e57364/extent_io.o /media/disk/kernel-417d87e57364/extent_io.c: In function 'extent_readpages': /media/disk/kernel-417d87e57364/extent_io.c:2270: error: implicit declaration of function '__pagevec_lru_add' make[2]: *** [/media/disk/kernel-417d87e57364/extent_io.o] Error 1 make[1]: *** [_module_/media/disk/kernel-417d87e57364] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.28-rc2' make: *** [all] Error 2 tarkane@tarkane:/media/disk/kernel-417d87e57364$
hello,
try this.
fs/btrfs/extent_io.c +4 -0
@@ -2539,7 +2539,11 @@ int extent_readpages(struct extent_io_tree *tree,/* open coding of lru_cache_add, also not exported */ page_cache_get (page); if (!pagevec_add(&pvec, page)) +#if LINUX_VERSION_CODE >=KERNEL_VERSION (2 ,6 ,28 ) +____pagevec_lru_add (&pvec); +#else __pagevec_lru_add (&pvec); +#endif __extent_read_full_page (tree, page, get_extent, &bio,0 , &bio_flags); }
2008/11/3 Tarkan Erimer <[email protected]>:
Quoted 48 lines
Hi,
I use Kubuntu-8.10 with custom kernel 2.6.28-rc2 and my gcc version is "gcc (Ubuntu 4.3.2-1ubuntu11) 4.3.2". When I tried to compile latest btrfs source, I got these error messages :
tarkane@tarkane:/media/disk/kernel-417d87e57364$ make bash version.sh make -C /lib/modules/`uname -r`/build M=`pwd` modules make[1]: Entering directory `/usr/src/linux-2.6.28-rc2' CC [M] /media/disk/kernel-417d87e57364/super.o CC [M] /media/disk/kernel-417d87e57364/ctree.o CC [M] /media/disk/kernel-417d87e57364/extent-tree.o CC [M] /media/disk/kernel-417d87e57364/print-tree.o CC [M] /media/disk/kernel-417d87e57364/root-tree.o CC [M] /media/disk/kernel-417d87e57364/dir-item.o CC [M] /media/disk/kernel-417d87e57364/hash.o CC [M] /media/disk/kernel-417d87e57364/file-item.o CC [M] /media/disk/kernel-417d87e57364/inode-item.o CC [M] /media/disk/kernel-417d87e57364/inode-map.o CC [M] /media/disk/kernel-417d87e57364/disk-io.o CC [M] /media/disk/kernel-417d87e57364/transaction.o CC [M] /media/disk/kernel-417d87e57364/bit-radix.o CC [M] /media/disk/kernel-417d87e57364/inode.o CC [M] /media/disk/kernel-417d87e57364/file.o CC [M] /media/disk/kernel-417d87e57364/tree-defrag.o CC [M] /media/disk/kernel-417d87e57364/extent_map.o CC [M] /media/disk/kernel-417d87e57364/sysfs.o CC [M] /media/disk/kernel-417d87e57364/struct-funcs.o CC [M] /media/disk/kernel-417d87e57364/xattr.o CC [M] /media/disk/kernel-417d87e57364/ordered-data.o CC [M] /media/disk/kernel-417d87e57364/extent_io.o /media/disk/kernel-417d87e57364/extent_io.c: In function 'extent_readpages': /media/disk/kernel-417d87e57364/extent_io.c:2270: error: implicit declaration of function '__pagevec_lru_add' make[2]: *** [/media/disk/kernel-417d87e57364/extent_io.o] Error 1 make[1]: *** [_module_/media/disk/kernel-417d87e57364] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.28-rc2' make: *** [all] Error 2 tarkane@tarkane:/media/disk/kernel-417d87e57364$--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 1 line
Zhu Yanhai
Hi Yanhai,
Thank you very much for the help and the patch. But; unfortunately, it=20 didn't work ;-(
I got the following errors :
tarkane@tarkane:~/btrfs/kernel-417d87e57364$ make bash version.sh make -C /lib/modules/`uname -r`/build M=3D`pwd` modules make[1]: Entering directory `/usr/src/linux-2.6.28-rc3' CC [M] /home/tarkane/btrfs/kernel-417d87e57364/super.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/ctree.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/extent-tree.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/print-tree.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/root-tree.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/dir-item.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/hash.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/file-item.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/inode-item.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/inode-map.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/disk-io.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/transaction.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/bit-radix.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/inode.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/file.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/tree-defrag.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/extent_map.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/sysfs.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/struct-funcs.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/xattr.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/ordered-data.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/extent_io.o /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c: In function=20 =91extent_readpages=92: /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2271: error: too fe= w=20 arguments to function =91____pagevec_lru_add=92 /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2276: error:=20 =91bio_flags=92 undeclared (first use in this function) /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2276: error: (Each=20 undeclared identifier is reported only once /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2276: error: for=20 each function it appears in.) /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2276: error: too=20 many arguments to function =91__extent_read_full_page=92 /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2281: error:=20 implicit declaration of function =91__pagevec_lru_add=92 make[2]: *** [/home/tarkane/btrfs/kernel-417d87e57364/extent_io.o] Erro= r 1 make[1]: *** [_module_/home/tarkane/btrfs/kernel-417d87e57364] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.28-rc3' make: *** [all] Error 2 tarkane@tarkane:~/btrfs/kernel-417d87e57364$
fs/btrfs/extent_io.c int extent_readpages(struct extent_io_tree *tr=
Quoted 8 lines · yanhai zhu
hello,
try this.fs/btrfs/extent_io.c +0
-0@@ -2539,7 +2539,11 @@ int extent_readpages(struct extent_io_tree *tr=
ee,
fs/btrfs/extent_io.c int extent_readpages(struct extent_io_tree *tr= · line 2539
Quoted 1 line
fs/btrfs/extent_io.c +0
-0/* open coding of lru_cache_add, also not exp=
orted */
fs/btrfs/extent_io.c int extent_readpages(struct extent_io_tree *tree,
Quoted 3 lines
fs/btrfs/extent_io.c +1
-0page_cache_get (page);if (!pagevec_add (&pvec, page)) + #if LINUX_VERSION_CODE >=3D KERNEL_VERSION(2,=
6,28)
fs/btrfs/extent_io.c int extent_readpages(struct extent_io_tree *tree,
Quoted 5 lines
fs/btrfs/extent_io.c +3
-0+____pagevec_lru_add (&pvec); +#else __pagevec_lru_add (&pvec); +#endif __extent_read_full_page(tree, page, get_exten=
t,
Quoted 8 lines
fs/btrfs/extent_io.c +0
-0&bio, 0, &bio_flags); }2008/11/3 Tarkan Erimer <[email protected]>:
=20Quoted 3 lines
Hi,
I use Kubuntu-8.10 with custom kernel 2.6.28-rc2 and my gcc version =
is "gcc
Quoted 1 line
Quoted 1 line
(Ubuntu 4.3.2-1ubuntu11) 4.3.2". When I tried to compile latest btrf=
s
Quoted 21 lines
Quoted 21 lines
source, I got these error messages :
tarkane@tarkane:/media/disk/kernel-417d87e57364$ make bash version.sh make -C /lib/modules/`uname -r`/build M=3D`pwd` modules make[1]: Entering directory `/usr/src/linux-2.6.28-rc2' CC [M] /media/disk/kernel-417d87e57364/super.o CC [M] /media/disk/kernel-417d87e57364/ctree.o CC [M] /media/disk/kernel-417d87e57364/extent-tree.o CC [M] /media/disk/kernel-417d87e57364/print-tree.o CC [M] /media/disk/kernel-417d87e57364/root-tree.o CC [M] /media/disk/kernel-417d87e57364/dir-item.o CC [M] /media/disk/kernel-417d87e57364/hash.o CC [M] /media/disk/kernel-417d87e57364/file-item.o CC [M] /media/disk/kernel-417d87e57364/inode-item.o CC [M] /media/disk/kernel-417d87e57364/inode-map.o CC [M] /media/disk/kernel-417d87e57364/disk-io.o CC [M] /media/disk/kernel-417d87e57364/transaction.o CC [M] /media/disk/kernel-417d87e57364/bit-radix.o CC [M] /media/disk/kernel-417d87e57364/inode.o CC [M] /media/disk/kernel-417d87e57364/file.o
Quoted 8 lines
Quoted 8 lines
CC [M] /media/disk/kernel-417d87e57364/tree-defrag.o
CC [M] /media/disk/kernel-417d87e57364/extent_map.o
CC [M] /media/disk/kernel-417d87e57364/sysfs.o
CC [M] /media/disk/kernel-417d87e57364/struct-funcs.o
CC [M] /media/disk/kernel-417d87e57364/xattr.o
CC [M] /media/disk/kernel-417d87e57364/ordered-data.o
CC [M] /media/disk/kernel-417d87e57364/extent_io.o /media/disk/kernel-417d87e57364/extent_io.c: In function 'extent_rea=
dpages':
Quoted 10 lines
Quoted 10 lines
/media/disk/kernel-417d87e57364/extent_io.c:2270: error: implicit declaration of function '
__pagevec_lru_add'
make[2]: *** [/media/disk/kernel-417d87e57364/extent_io.o] Error 1 make[1]: *** [_module_/media/disk/kernel-417d87e57364] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.28-rc2'
make: *** [all] Error 2 tarkane@tarkane:/media/disk/kernel-417d87e57364$
Quoted 2 lines
Quoted 2 lines
--
To unsubscribe from this list: send the line "unsubscribe linux-btrf=
s" in
Quoted 8 lines
Quoted 4 lines
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html=20=20
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
sorry,
--
fs/btrfs/extent_io.c +4 -0
@@ -2539,7 +2539,11 @@ int extent_readpages(struct extent_io_tree *tree,/* open coding of lru_cache_add, also not exported */ page_cache_get (page); if (!pagevec_add(&pvec, page)) +#if LINUX_VERSION_CODE >=KERNEL_VERSION (2 ,6 ,28 ) +__pagevec_lru_add_file (&pvec); +#else __pagevec_lru_add (&pvec); +#endif __extent_read_full_page (tree, page, get_extent, &bio,0 , &bio_flags); }
2008/11/3 Tarkan Erimer <[email protected]>:
Quoted 137 lines
Hi Yanhai,
Thank you very much for the help and the patch. But; unfortunately, it didn't work ;-(
I got the following errors :tarkane@tarkane:~/btrfs/kernel-417d87e57364$ make bash version.sh make -C /lib/modules/`uname -r`/build M=`pwd` modules make[1]: Entering directory `/usr/src/linux-2.6.28-rc3' CC [M] /home/tarkane/btrfs/kernel-417d87e57364/super.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/ctree.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/extent-tree.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/print-tree.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/root-tree.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/dir-item.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/hash.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/file-item.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/inode-item.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/inode-map.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/disk-io.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/transaction.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/bit-radix.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/inode.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/file.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/tree-defrag.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/extent_map.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/sysfs.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/struct-funcs.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/xattr.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/ordered-data.o CC [M] /home/tarkane/btrfs/kernel-417d87e57364/extent_io.o /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c: In function 'extent_readpages': /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2271: error: too few arguments to function '____pagevec_lru_add' /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2276: error: 'bio_flags' undeclared (first use in this function) /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2276: error: (Each undeclared identifier is reported only once /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2276: error: for each function it appears in.) /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2276: error: too many arguments to function '__extent_read_full_page' /home/tarkane/btrfs/kernel-417d87e57364/extent_io.c:2281: error: implicit declaration of function '__pagevec_lru_add' make[2]: *** [/home/tarkane/btrfs/kernel-417d87e57364/extent_io.o] Error 1 make[1]: *** [_module_/home/tarkane/btrfs/kernel-417d87e57364] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.28-rc3' make: *** [all] Error 2 tarkane@tarkane:~/btrfs/kernel-417d87e57364$Quoted 80 lines · yanhai zhu
hello,
try this.fs/btrfs/extent_io.c +4
-0@@ -2539,7 +2539,11 @@ int extent_readpages(struct extent_io_tree *tree,/* open coding of lru_cache_add, also not exported */ page_cache_get (page); if (!pagevec_add(&pvec, page)) +#if LINUX_VERSION_CODE >=KERNEL_VERSION (2 ,6 ,28 ) +____pagevec_lru_add (&pvec); +#else __pagevec_lru_add (&pvec); +#endif __extent_read_full_page (tree, page, get_extent, &bio,0 , &bio_flags);}2008/11/3 Tarkan Erimer <[email protected]>:
Quoted 52 lines
Hi,
I use Kubuntu-8.10 with custom kernel 2.6.28-rc2 and my gcc version is "gcc
(Ubuntu 4.3.2-1ubuntu11) 4.3.2". When I tried to compile latest btrfs source, I got these error messages :tarkane@tarkane:/media/disk/kernel-417d87e57364$ make bash version.sh make -C /lib/modules/`uname -r`/build M=`pwd` modules make[1]: Entering directory `/usr/src/linux-2.6.28-rc2' CC [M] /media/disk/kernel-417d87e57364/super.o CC [M] /media/disk/kernel-417d87e57364/ctree.o CC [M] /media/disk/kernel-417d87e57364/extent-tree.o CC [M] /media/disk/kernel-417d87e57364/print-tree.o CC [M] /media/disk/kernel-417d87e57364/root-tree.o CC [M] /media/disk/kernel-417d87e57364/dir-item.o CC [M] /media/disk/kernel-417d87e57364/hash.o CC [M] /media/disk/kernel-417d87e57364/file-item.o CC [M] /media/disk/kernel-417d87e57364/inode-item.o CC [M] /media/disk/kernel-417d87e57364/inode-map.o CC [M] /media/disk/kernel-417d87e57364/disk-io.o CC [M] /media/disk/kernel-417d87e57364/transaction.o CC [M] /media/disk/kernel-417d87e57364/bit-radix.o CC [M] /media/disk/kernel-417d87e57364/inode.o CC [M] /media/disk/kernel-417d87e57364/file.o CC [M] /media/disk/kernel-417d87e57364/tree-defrag.o CC [M] /media/disk/kernel-417d87e57364/extent_map.o CC [M] /media/disk/kernel-417d87e57364/sysfs.o CC [M] /media/disk/kernel-417d87e57364/struct-funcs.o CC [M] /media/disk/kernel-417d87e57364/xattr.o CC [M] /media/disk/kernel-417d87e57364/ordered-data.o CC [M] /media/disk/kernel-417d87e57364/extent_io.o /media/disk/kernel-417d87e57364/extent_io.c: In function 'extent_readpages': /media/disk/kernel-417d87e57364/extent_io.c:2270: error: implicit declaration of function '__pagevec_lru_add' make[2]: *** [/media/disk/kernel-417d87e57364/extent_io.o] Error 1 make[1]: *** [_module_/media/disk/kernel-417d87e57364] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.28-rc2' make: *** [all] Error 2 tarkane@tarkane:/media/disk/kernel-417d87e57364$--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 1 line
Zhu Yanhai
Quoted 9 lines · yanhai zhu
sorry,
--
fs/btrfs/extent_io.c +0
-0
fs/btrfs/extent_io.c int extent_readpages(struct extent_io_tree *tree, · line 2547
Quoted 9 lines
fs/btrfs/extent_io.c +4
-0@@ -2539,7 +2539,11 @@ int extent_readpages(struct extent_io_tree *tree,/* open coding of lru_cache_add, also not exported */ page_cache_get (page); if (!pagevec_add(&pvec, page)) +#if LINUX_VERSION_CODE >=KERNEL_VERSION (2 ,6 ,28 ) +__pagevec_lru_add_file (&pvec); +#else __pagevec_lru_add (&pvec); +#endif
Suggest sticking in some compat header:
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
+# define __pagevec_lru_add_file __pagevec_lru_add
+#endif
To reduce impact on code that is intended to go to mainline.
Signature · 2 lines
I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.