diff --git a/iscsi-scst/kernel/patches/put_page_callback-2.6.16.patch b/iscsi-scst/kernel/patches/put_page_callback-2.6.16.patch index a433c2c18..ba0db7ab9 100644 --- a/iscsi-scst/kernel/patches/put_page_callback-2.6.16.patch +++ b/iscsi-scst/kernel/patches/put_page_callback-2.6.16.patch @@ -19,15 +19,15 @@ diff -upr linux-2.6.16.29/include/linux/mm.h linux-2.6.16.29/include/linux/mm.h #define page_private(page) ((page)->private) diff -upr linux-2.6.16.29/include/linux/net.h linux-2.6.16.29/include/linux/net.h --- linux-2.6.16.29/include/linux/net.h 2006-09-12 22:02:10.000000000 +0400 -+++ linux-2.6.16.29/include/linux/net.h 2007-08-07 19:55:27.000000000 +0400 -@@ -22,6 +22,7 @@ - #include - #include - #include ++++ linux-2.6.16.29/include/linux/net.h 2007-08-29 18:31:40.000000000 +0400 +@@ -57,6 +57,7 @@ typedef enum { + #define __SO_ACCEPTCON (1 << 16) /* performed a listen */ + + #ifdef __KERNEL__ +#include - struct poll_table_struct; - struct inode; + #define SOCK_ASYNC_NOSPACE 0 + #define SOCK_ASYNC_WAITDATA 1 @@ -294,5 +295,30 @@ extern int net_msg_cost; extern int net_msg_burst; #endif diff --git a/iscsi-scst/kernel/patches/put_page_callback-2.6.18.patch b/iscsi-scst/kernel/patches/put_page_callback-2.6.18.patch index 79652983c..f1b0ff204 100644 --- a/iscsi-scst/kernel/patches/put_page_callback-2.6.18.patch +++ b/iscsi-scst/kernel/patches/put_page_callback-2.6.18.patch @@ -19,15 +19,15 @@ diff -upr linux-2.6.18.1/include/linux/mm.h linux-2.6.18.1/include/linux/mm.h #define page_private(page) ((page)->private) diff -upr linux-2.6.18.1/include/linux/net.h linux-2.6.18.1/include/linux/net.h --- linux-2.6.18.1/include/linux/net.h 2006-09-20 07:42:06.000000000 +0400 -+++ linux-2.6.18.1/include/linux/net.h 2007-08-07 19:35:51.000000000 +0400 -@@ -19,6 +19,7 @@ - #define _LINUX_NET_H ++++ linux-2.6.18.1/include/linux/net.h 2007-08-29 18:28:21.000000000 +0400 +@@ -56,6 +56,7 @@ typedef enum { - #include + #ifdef __KERNEL__ + #include +#include - #include - struct poll_table_struct; + #define SOCK_ASYNC_NOSPACE 0 + #define SOCK_ASYNC_WAITDATA 1 @@ -304,5 +305,30 @@ extern int net_msg_cost; extern int net_msg_burst; #endif diff --git a/iscsi-scst/kernel/patches/put_page_callback-2.6.21.patch b/iscsi-scst/kernel/patches/put_page_callback-2.6.21.patch index 9a2532557..1ad3ea921 100644 --- a/iscsi-scst/kernel/patches/put_page_callback-2.6.21.patch +++ b/iscsi-scst/kernel/patches/put_page_callback-2.6.21.patch @@ -19,15 +19,15 @@ diff -upr linux-2.6.21.1/include/linux/mm_types.h linux-2.6.21.1/include/linux/m #endif /* _LINUX_MM_TYPES_H */ diff -upr linux-2.6.21.1/include/linux/net.h linux-2.6.21.1/include/linux/net.h --- linux-2.6.21.1/include/linux/net.h 2007-04-28 01:49:26.000000000 +0400 -+++ linux-2.6.21.1/include/linux/net.h 2007-07-24 19:09:40.000000000 +0400 -@@ -19,6 +19,7 @@ - #define _LINUX_NET_H - - #include ++++ linux-2.6.21.1/include/linux/net.h 2007-08-29 14:57:06.000000000 +0400 +@@ -57,6 +57,7 @@ typedef enum { + #ifdef __KERNEL__ + #include + #include +#include - #include - struct poll_table_struct; + #define SOCK_ASYNC_NOSPACE 0 + #define SOCK_ASYNC_WAITDATA 1 @@ -319,5 +320,30 @@ extern int net_msg_cost; extern int net_msg_burst; #endif diff --git a/iscsi-scst/kernel/patches/put_page_callback-2.6.22.patch b/iscsi-scst/kernel/patches/put_page_callback-2.6.22.patch index 2107565a2..6286afa16 100644 --- a/iscsi-scst/kernel/patches/put_page_callback-2.6.22.patch +++ b/iscsi-scst/kernel/patches/put_page_callback-2.6.22.patch @@ -19,15 +19,15 @@ diff -upr linux-2.6.22/include/linux/mm_types.h linux-2.6.22/include/linux/mm_ty #endif /* _LINUX_MM_TYPES_H */ diff -upr linux-2.6.22/include/linux/net.h linux-2.6.22/include/linux/net.h --- linux-2.6.22/include/linux/net.h 2007-07-09 03:32:17.000000000 +0400 -+++ linux-2.6.22/include/linux/net.h 2007-08-07 19:12:10.000000000 +0400 -@@ -19,6 +19,7 @@ - #define _LINUX_NET_H - - #include ++++ linux-2.6.22/include/linux/net.h 2007-08-29 18:18:56.000000000 +0400 +@@ -57,6 +57,7 @@ typedef enum { + #ifdef __KERNEL__ + #include + #include +#include - #include - struct poll_table_struct; + #define SOCK_ASYNC_NOSPACE 0 + #define SOCK_ASYNC_WAITDATA 1 @@ -319,5 +320,30 @@ extern int net_msg_cost; extern int net_msg_burst; #endif diff --git a/scst/README b/scst/README index c0843cc2d..32e66aa17 100644 --- a/scst/README +++ b/scst/README @@ -59,13 +59,14 @@ only adds one of those functions and nothing more. You may not patch the kernel if you don't need pass-through support or STRICT_SERIALIZING is defined during the compilation (see description below). -To compile SCST type 'make'. It will build SCST itself and its device -handlers. To install them type 'make install'. The driver modules will -be installed in '/lib/modules/`you_kernel_version`/extra'. In addition, -scsi_tgt.h, scst_debug.h as well as Module.symvers or Modules.symvers -will be copied to '/usr/local/include/scst'. The first file contains all -SCST's public data definition, which are used by target drivers. The -other ones support debug messages logging and build process. +To compile SCST type 'make scst'. It will build SCST itself and its +device handlers. To install them type 'make scst_install'. The driver +modules will be installed in '/lib/modules/`you_kernel_version`/extra'. +In addition, scsi_tgt.h, scst_debug.h as well as Module.symvers or +Modules.symvers will be copied to '/usr/local/include/scst'. The first +file contains all SCST's public data definition, which are used by +target drivers. The other ones support debug messages logging and build +process. Then you can load any module by typing 'modprobe module_name'. The names are: @@ -94,6 +95,16 @@ IMPORTANT: Without loading appropriate device handler, corresponding devices 'echo "scsi add-single-device A 0 0 B" >/proc/scsi/scsi', where A - is the host number, B - LUN. +IMPORTANT: Experience shows that if people work with out of SCST tree target +========= drivers, like target driver for Infiniband or in case if they + downloaded and use the released versions of SCST and target + drivers, they are too often (actually, almost always) after + upgrading SCST core forget to rebuild their target drivers, + which then immediately after load crash in the hard to trace + manner. So, after you reinstalled SCST core don't forget to + rebuild and reinstall all your target drivers, custom dev + handlers and necessary user space applications. + IMPORTANT: In the current version simultaneous access to local SCSI devices ========= via standard high-level SCSI drivers (sd, st, sg, etc.) and SCST's target drivers is unsupported. Especially it is @@ -104,7 +115,7 @@ IMPORTANT: In the current version simultaneous access to local SCSI devices devices READ/WRITE commands using direct disk handler look to be safe. -To uninstall, type 'make uninstall'. +To uninstall, type 'make scst_uninstall'. If you install QLA2x00 target driver's source code in this directory, then you can build, install or uninstall it by typing 'make qla', 'make diff --git a/scst/src/Makefile b/scst/src/Makefile index 55b2f182b..75f1bd471 100644 --- a/scst/src/Makefile +++ b/scst/src/Makefile @@ -82,12 +82,18 @@ ifneq ($(MOD_VERS),) install -m 644 Module.symvers $(INSTALL_DIR_H) endif -depmod -a $(KVER) - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - @echo "!! Now don't forget to rebuild and reinstall all your !!" - @echo "!! target drivers, custom dev handlers and necessary user !!" - @echo "!! space applications. Otherwise, because of the versions !!" - @echo "!! mismatch, you could have many problems and crashes! !!" - @echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + @echo "****************************************************************" + @echo "*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*" + @echo "*!! !!*" + @echo "*!! Now don't forget to rebuild and reinstall all your !!*" + @echo "*!! target drivers, custom dev handlers and necessary user !!*" + @echo "*!! space applications. Otherwise, because of the versions !!*" + @echo "*!! mismatch, you could have many problems and crashes. !!*" + @echo "*!! See IMPORTANT note in the \"Installation\" section of !!*" + @echo "*!! SCST's README file for more info. !!*" + @echo "*!! !!*" + @echo "*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*" + @echo "****************************************************************" uninstall: cd $(DEV_HANDLERS_DIR) && $(MAKE) $@