mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-17 10:41:26 +00:00
Minor changes based on comments from Tomasz Chmielewski <mangoo@wpkg.org>, Benjamin Yates <benjamin@rqdq.com> and Andy <AndrewL733@aol.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@174 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
79
Makefile
79
Makefile
@@ -27,6 +27,46 @@ USR_DIR=usr/fileio
|
||||
ISCSI_DIR=iscsi-scst
|
||||
#ISCSI_DISTDIR=../../../../iscsi_scst_inst
|
||||
|
||||
help:
|
||||
@echo " all : make all"
|
||||
@echo " clean : clean files"
|
||||
@echo " extraclean : clean + clean dependencies"
|
||||
@echo " install : install"
|
||||
@echo " uninstall : uninstall"
|
||||
@echo ""
|
||||
@echo " scst : make scst only"
|
||||
@echo " scst_clean : scst: clean "
|
||||
@echo " scst_extraclean : scst: clean + clean dependencies"
|
||||
@echo " scst_install : scst: install"
|
||||
@echo " scst_uninstall : scst: uninstall"
|
||||
@echo ""
|
||||
@echo " qla : make QLA target driver"
|
||||
@echo " qla_clean : 2.6 qla target: clean "
|
||||
@echo " qla_extraclean : 2.6 qla target: clean + clean dependencies"
|
||||
@echo " qla_install : 2.6 qla target: install"
|
||||
@echo " qla_uninstall : 2.6 qla target: uninstall"
|
||||
@echo ""
|
||||
@echo " iscsi : make iSCSI target"
|
||||
@echo " iscsi_clean : ISCSI target: clean "
|
||||
@echo " iscsi_extraclean : ISCSI target: clean + clean dependencies"
|
||||
@echo " iscsi_install : ISCSI target: install"
|
||||
@echo " iscsi_uninstall : ISCSI target: uninstall"
|
||||
@echo ""
|
||||
@echo " lsi : make LSI MPT target"
|
||||
@echo " lsi_clean : lsi target: clean "
|
||||
@echo " lsi_extraclean : lsi target: clean + clean dependencies"
|
||||
@echo " lsi_install : lsi target: install"
|
||||
@echo " lsi_uninstall : lsi target: uninstall"
|
||||
@echo ""
|
||||
@echo " usr : make user space fileio_tgt target"
|
||||
@echo " usr_clean : usr target: clean "
|
||||
@echo " usr_extraclean : usr target: clean + clean dependencies"
|
||||
@echo " usr_install : usr target: install"
|
||||
@echo " usr_uninstall : usr target: uninstall"
|
||||
|
||||
@echo " Note:"
|
||||
@echo " - install and uninstall may need root privileges"
|
||||
|
||||
all:
|
||||
cd $(SCST_DIR) && $(MAKE) $@
|
||||
@if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
|
||||
@@ -141,45 +181,6 @@ usr_clean:
|
||||
usr_extraclean:
|
||||
cd $(USR_DIR) && $(MAKE) extraclean
|
||||
|
||||
help:
|
||||
@echo " all (the default) : make all"
|
||||
@echo " clean : clean files"
|
||||
@echo " extraclean : clean + clean dependencies"
|
||||
@echo " install : install"
|
||||
@echo " uninstall : uninstall"
|
||||
@echo ""
|
||||
@echo " scst : make scst only"
|
||||
@echo " scst_clean : scst: clean "
|
||||
@echo " scst_extraclean : scst: clean + clean dependencies"
|
||||
@echo " scst_install : scst: install"
|
||||
@echo " scst_uninstall : scst: uninstall"
|
||||
@echo ""
|
||||
@echo " qla : make new qla target using 2.6.x kernel qla2xxx"
|
||||
@echo " qla_clean : 2.6 qla target: clean "
|
||||
@echo " qla_extraclean : 2.6 qla target: clean + clean dependencies"
|
||||
@echo " qla_install : 2.6 qla target: install"
|
||||
@echo " qla_uninstall : 2.6 qla target: uninstall"
|
||||
@echo ""
|
||||
@echo " iscsi : make new ISCSI target"
|
||||
@echo " iscsi_clean : ISCSI target: clean "
|
||||
@echo " iscsi_extraclean : ISCSI target: clean + clean dependencies"
|
||||
@echo " iscsi_install : ISCSI target: install"
|
||||
@echo " iscsi_uninstall : ISCSI target: uninstall"
|
||||
@echo ""
|
||||
@echo " lsi : make lsi target"
|
||||
@echo " lsi_clean : lsi target: clean "
|
||||
@echo " lsi_extraclean : lsi target: clean + clean dependencies"
|
||||
@echo " lsi_install : lsi target: install"
|
||||
@echo " lsi_uninstall : lsi target: uninstall"
|
||||
@echo ""
|
||||
@echo " usr : make usr target"
|
||||
@echo " usr_clean : usr target: clean "
|
||||
@echo " usr_extraclean : usr target: clean + clean dependencies"
|
||||
@echo " usr_install : usr target: install"
|
||||
@echo " usr_uninstall : usr target: uninstall"
|
||||
@echo " Notes :"
|
||||
@echo " - install and uninstall must be made as root"
|
||||
|
||||
.PHONY: all install uninstall clean extraclean help \
|
||||
qla qla_install qla_uninstall qla_clean qla_extraclean \
|
||||
lsi lsi_install lsi_uninstall lsi_clean lsi_extraclean \
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[HANDLER vdisk]
|
||||
#DEVICE <vdisk name>,<device path>,<options>,<block size>
|
||||
DEVICE disk1,/path/disk1,,512
|
||||
DEVICE hdc1,/dev/hdc1,BIO,512
|
||||
DEVICE nullio,none,NIO,1024
|
||||
DEVICE hdc1,/dev/hdc1,BLOCKIO,512
|
||||
DEVICE nullio,none,NULLIO,1024
|
||||
|
||||
[HANDLER vcdrom]
|
||||
#DEVICE <vdisk name>,<device path>
|
||||
|
||||
@@ -24,9 +24,9 @@
|
||||
#include "digest.h"
|
||||
|
||||
#ifndef NET_PAGE_CALLBACKS_DEFINED
|
||||
#warning Patch put_page_callback.patch not applied on your kernel. ISCSI-SCST \
|
||||
will run in the performance degraded mode. Refer README file for \
|
||||
details.
|
||||
#warning Patch put_page_callback-<kernel-version>.patch not applied on your \
|
||||
kernel. ISCSI-SCST will run in the performance degraded mode. Refer \
|
||||
README file for details.
|
||||
#endif
|
||||
|
||||
#define ISCSI_INIT_WRITE_WAKE 0x1
|
||||
@@ -2425,9 +2425,9 @@ static int __init iscsi_init(void)
|
||||
goto out;
|
||||
}
|
||||
#else
|
||||
PRINT_INFO_PR("%s", "Patch put_page_callback.patch not applied on your "
|
||||
"kernel. Running in the performance degraded mode. Refer "
|
||||
"README file for details");
|
||||
PRINT_INFO_PR("%s", "Patch put_page_callback-<kernel-version>.patch "
|
||||
"not applied on your kernel. Running in the performance "
|
||||
"degraded mode. Refer README file for details");
|
||||
#endif
|
||||
|
||||
BUILD_BUG_ON(MAX_DATA_SEG_LEN != (ISCSI_CONN_IOV_MAX<<PAGE_SHIFT));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* scst.c
|
||||
* scst_main.c
|
||||
*
|
||||
* Copyright (C) 2004-2007 Vladislav Bolkhovitin <vst@vlnb.net>
|
||||
* and Leonid Stoljar
|
||||
@@ -47,9 +47,9 @@
|
||||
#endif
|
||||
|
||||
#if !defined(SCSI_EXEC_REQ_FIFO_DEFINED) && !defined(STRICT_SERIALIZING)
|
||||
#warning Patch scst_exec_req_fifo.patch was not applied on your kernel and \
|
||||
STRICT_SERIALIZING isn't defined. Pass-through dev handlers will \
|
||||
not be supported.
|
||||
#warning Patch scst_exec_req_fifo-<kernel-version>.patch was not applied on \
|
||||
your kernel and STRICT_SERIALIZING isn't defined. Pass-through dev \
|
||||
handlers will not be supported.
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -756,8 +756,8 @@ int scst_register_dev_driver(struct scst_dev_type *dev_type)
|
||||
if (dev_type->exec == NULL) {
|
||||
PRINT_ERROR_PR("Pass-through dev handlers (handler \"%s\") not "
|
||||
"supported. Consider applying on your kernel patch "
|
||||
"scst_exec_req_fifo.patch or define STRICT_SERIALIZING",
|
||||
dev_type->name);
|
||||
"scst_exec_req_fifo-<kernel-version>.patch or define "
|
||||
"STRICT_SERIALIZING", dev_type->name);
|
||||
res = -EINVAL;
|
||||
goto out_err;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* scst_sgv_pool.c
|
||||
* scst_mem.c
|
||||
*
|
||||
* Copyright (C) 2006-2007 Vladislav Bolkhovitin <vst@vlnb.net>
|
||||
*
|
||||
@@ -43,16 +43,14 @@
|
||||
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22))
|
||||
#warning SCST on 2.6.22+ kernels will run in performance degraded mode, \
|
||||
because some oversmart mainline kernel developers have deleted in those \
|
||||
kernels support for destructors in SLAB cache and they were unresponsible \
|
||||
enough to made that change without even set that feature in the deprecated \
|
||||
status for some time to allow depending on it projects to fix themself without \
|
||||
disturbing their users. Blame those people for that! So, now to run in full \
|
||||
power on those kernels SCST requires a complete rewrite of one of its major low \
|
||||
level parts: all kmem_cache_*() functions in this file should be replaced \
|
||||
with new ones with similar functionality. I'm not sure I will have time for \
|
||||
that in the near future, therefore you are welcome to implement it. Don't \
|
||||
hesitate to ask me how I think it should be done most effectively. VLNB.
|
||||
because some unresponsible mainline kernel developers have deleted in those \
|
||||
kernels support for destructors in SLAB cache and made that change without \
|
||||
even set that feature in the deprecated status for some time to allow \
|
||||
depending on it projects to fix themself without disturbing their users. \
|
||||
Blame those people for that! So, now to run in full power on those kernels \
|
||||
SCST requires a complete rewrite of one of its major low level parts: all \
|
||||
kmem_cache_*() functions in this file should be replaced with new ones with \
|
||||
similar functionality.
|
||||
#endif
|
||||
|
||||
/* Chosen to have one page per slab for all orders */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* scst_sgv_pool.h
|
||||
* scst_mem.h
|
||||
*
|
||||
* Copyright (C) 2006-2007 Vladislav Bolkhovitin <vst@vlnb.net>
|
||||
*
|
||||
|
||||
@@ -2739,17 +2739,17 @@ static int __scst_init_cmd(struct scst_cmd *cmd)
|
||||
cmd->state = SCST_CMD_STATE_DEV_PARSE;
|
||||
cnt = atomic_inc_return(&cmd->tgt_dev->tgt_dev_cmd_count);
|
||||
if (unlikely(cnt > SCST_MAX_TGT_DEV_COMMANDS)) {
|
||||
TRACE(TRACE_RETRY, "Too many pending commands in "
|
||||
TRACE(TRACE_RETRY, "Too many pending commands (%d) in "
|
||||
"session, returning BUSY to initiator \"%s\"",
|
||||
(cmd->sess->initiator_name[0] == '\0') ?
|
||||
cnt, (cmd->sess->initiator_name[0] == '\0') ?
|
||||
"Anonymous" : cmd->sess->initiator_name);
|
||||
goto out_busy;
|
||||
}
|
||||
cnt = atomic_inc_return(&cmd->dev->dev_cmd_count);
|
||||
if (unlikely(cnt > SCST_MAX_DEV_COMMANDS)) {
|
||||
TRACE(TRACE_RETRY, "Too many pending device commands, "
|
||||
"returning BUSY to initiator \"%s\"",
|
||||
(cmd->sess->initiator_name[0] == '\0') ?
|
||||
TRACE(TRACE_RETRY, "Too many pending device commands "
|
||||
"(%d), returning BUSY to initiator \"%s\"",
|
||||
cnt, (cmd->sess->initiator_name[0] == '\0') ?
|
||||
"Anonymous" : cmd->sess->initiator_name);
|
||||
goto out_busy;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user