On 05/01/2010 12:06 PM, Hiroshi KIHIRA wrote:
Hi,

I tried to build open-iscsi-2.0.871.3 on my system with linux-2.6.33.2
by adjusting kernel/Makefile. But I failed to build.
(Simply I added "linux_2_6_33: $(unpatch_code)" in kernel/Makefile.)

Error messages are described below:
----- [snip] -----
   CC [M]  /root/open-iscsi-2.0.871.3/kernel/libiscsi.o
/root/open-iscsi-2.0.871.3/kernel/libiscsi.c: In function
'iscsi_free_task':
/root/open-iscsi-2.0.871.3/kernel/libiscsi.c:431: error: implicit
declaration of function '__kfifo_put'
/root/open-iscsi-2.0.871.3/kernel/libiscsi.c: In function
'__iscsi_conn_send_pdu':
/root/open-iscsi-2.0.871.3/kernel/libiscsi.c:617: error: implicit
declaration of function '__kfifo_get'
/root/open-iscsi-2.0.871.3/kernel/libiscsi.c: In function
'iscsi_target_alloc':
/root/open-iscsi-2.0.871.3/kernel/libiscsi.c:1552: warning: unused
variable 'session'
/root/open-iscsi-2.0.871.3/kernel/libiscsi.c: In function
'iscsi_pool_init':
/root/open-iscsi-2.0.871.3/kernel/libiscsi.c:2127: warning: passing
argument 2 of 'kfifo_init' makes pointer from integer without a cast
include/linux/kfifo.h:105: note: expected 'void *' but argument is of
type 'long unsigned int'
/root/open-iscsi-2.0.871.3/kernel/libiscsi.c:2127: error: too many
arguments to function 'kfifo_init'
/root/open-iscsi-2.0.871.3/kernel/libiscsi.c:2127: error: void value
not ignored as it ought to be
make[3]: *** [/root/open-iscsi-2.0.871.3/kernel/libiscsi.o] Error 1
----- [snip] -----

The kfifo API seems to have changed from linux-2.6.33,
so I wrote a patch to support this API change.

The patched open-iscsi-2.0.871.3 was built with linux-2.6.33.2
successfully. And it passed very simple test(modprobe iscsi_tcp,
start iscsid, discovery, login, write and modprobe -r iscsi_tcp).
But it has not tested strictly yet.

Please use this patch carefully.


Thanks a lot for the patch! I am working on a new release. The very boring part is making these backport patches that handle these problems, so I am behind on that.

Your patch seems to fix the current kernel, but does not fix up the compat patches for other kernels. Since kfifo_in is not defined in older kernels is not defined, the compilation will fail there.

I am working on this for the next release so do not worry about it. If you want to take a stab at it go ahead. It is not fun though :)

Until then, you can just use the kernel modules that come with your kernel. Just build the userspace tools

make user
make install_user

--
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-is...@googlegroups.com.
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/open-iscsi?hl=en.

Reply via email to