summaryrefslogtreecommitdiff
path: root/etc
Commit message (Collapse)AuthorAgeFilesLines
...
* iscsi tools: fix iscsiadm exit codesMike Christie2011-01-311-2/+2
| | | | | | | | | iscsiadm/iscsistart return a mix of type of returns codes. Sometimes -1 and sometimes a EXYZ type of error code. This patch has them return a ISCSI_ERR value. See iscsiadm man page EXIT STATUS section for error code definitions.
* iscsid: use isns discovery rec for isns discoveryd setttingsMike Christie2010-07-011-40/+0
| | | | | | | This patch has isns discoveryd use the isns discovery rec settings instead of the iscsid.conf ones, so that the set up the is the same as ST and to give us freedom in the future to add more settings.
* iscsid: fix sendtargets discovery daemon CHAP handlingMike Christie2010-07-011-34/+0
| | | | | | | | | | | | | | | We may need to have different CHAP settings for each discovery portal. This patch has us use the discovery records instead of the iscsid.conf method of specifying the sendtargets info. If the discovery record has discovery.sendtargets.use_discoveryd = Yes then iscsid will use that record to do sendtargets discovery. The poll interval can be set with discovery.sendtargets.discoveryd_poll_inval.
* iscsi scripts: use iscsiadm -k to shutdown daemonMike Christie2010-06-102-2/+2
| | | | | | | | | | | This has the suse and red hat scripts use the iscsiadm kill command to shutdown the daemon. This is needed so if the discovery daemon is used then it will be cleanly stopped. This does not modify the debian script because I was not sure what the start-stop stuff was doing and did not want to add a bug.
* iscsid: add isns discovery daemon and SCN supportMike Christie2010-03-221-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds the following params to iscsid.conf discovery.daemon.isns.addresses discovery.daemon.isns.poll_interval These work like SendTargets where if you the param iscsid will do discovery and log into the portals found. This also adds iSNS SCN support. Like the other code it only supports login of new targets. Some notes: - It does not appear to work with the Microsoft iSNS server shipping with Windows 2008 rc. I have not tested 2003. The server does not seem to be sending any SCNs and at the same time when we register for SCNs it tells us the operation was successful. From the Microsoft docs it appears that the server does not support SCN events. - Linux-isns is not working with our code. The Linux-isns code appears to be sending iSNS SCN pdus with an incorrect format. - It is working with open-isns.git.
* iscsi tools: add MaxXmitDataSegmentLength paramMike Christie2010-03-221-0/+9
| | | | | | | | | | | | This adds a MaxXmitDataSegmentLength param to iscsid.conf. It will limit the size of the pdu we send to the target. If you set it to 0, then we use the old behavior where we just use whatever the target requested. If you set it to a valid value then we use the min of the set value and what the target requested. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
* iscsi tools: use open-isns servicesMike Christie2010-03-221-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the native isns code with open-isns's libisns. I included the open-isns code in the open-iscsi tarball to make distribution easier since some distros use different isns clients and may not want to carry open-isns. This is based on open-isns commit 5e09f36d3446e41de0b8361601ffec4cd140d513. Changes in iSNS behavior/use: - To do discovery you must pass the ip and optionally the port to iscsiadm: iscsiadm -m discovery -t st -p 10.15.0.9 This command accepts the same ops as sendtargets so you can add/remove/update the node records that are created. It also supports ifaces properly now. - isns.address and isns.port in iscsid.conf are no longer used. - ESI is temporarily not supported. This will be fixed in the next patch when SCNs support is added. - The iscsiadm isns discovery command is not marked as stable. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
* iscsid: have iscsid watch for new portals using sendtargetsMike Christie2010-03-221-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | This patch has iscsid do SendTargets to the addresses pointed to discovery.daemon.sendtargets.addresses iscsid.conf. It will do it every discovery.daemon.sendtargets.poll_interval seconds. This is useful for setups where the target returns only the valid portals and you want to log into all the portals returned. If the target returns all portals, then this still works, but it is a little loud when a login fails. Notes: - It will use the ifaces setup in /etc/iscsi/ifaces. - For iscsi settings it will use the /etc/iscsi/iscsid.conf settings. - It currently only logs into new targets. It does not remove old ones. You have to run iscsiadm -m session -r $SID -u to remove stale sessions. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
* iscsiadm: mv session management functions to new fileMike Christie2010-03-221-0/+1
| | | | | | | This mvs the session management functions to a new file so they can be used by the discovery daemons. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
* iscsi tools: support tgt reset timeoutMike Christie2009-11-061-1/+8
| | | | | | | The previous kernel patch added warm target reset support. This patch allows you to set a timeout for the operation. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
* iscsid: handle new replacement_timeout valuesMike Christie2009-11-061-0/+4
| | | | | | | We now support replacement_timeout values of 0 and -1. See the iscsid.conf for details. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
* iscsid: start iscsid automatically when neededMike Christie2009-09-031-0/+16
| | | | | | | | | | | | Patch and mail from Hans de Goede: Make iscsiadm start iscsid when needed so that iscsid will not actually be started even if there are no iscsi disks configured yet. From Mike Chrisite: Orignal patch had Fedora startup string hard coded. Modified patch so that it got read from iscsid.conf.
* [PATCH] Don't kill iscsid if logout from all nodes failMike Christie2009-07-293-1/+33
| | | | | | | | | | | | | | | | | | | | | | | Patch and email from Erez: If 'iscsiadm -m node --logoutall=all' fails when stopping the open-iscsi service, we shouldn't kill iscsid. This solves the following race: 1. A logout from a node is initiated by the user. 2. Before the logout completes, the user runs /etc/init.d/iscsi stop. The 'stop' method logs out from all nodes. When it tries to logout from the node that is already logging out (step #1), it fails because it is already logging out. Then, the 'stop' method kills iscsid. 3. The logout command form step #1 returns and notifies the (dead) daemon. Now, running 'iscsiadm -m session' shows a session (which, actually, doesn't exist anymore) and the iscsi service is down. Signed-off-by: Erez Zilber <erezzi.list@gmail.com>
* iscsid: set queue depthMike Christie2009-04-121-1/+1
| | | | This sets node.session.queue_depth for the session's devices.
* iscsi conf: increase default MaxRecvDataSegmentLengthMike Christie2009-03-141-3/+2
| | | | | | | | Increase default node.conn[0].iscsi.MaxRecvDataSegmentLength to 262144 to closer match IO sizes we see from block layer. The default block layer max is actually 512K, but in testing setting the MaxRecvDataSegmentLength to this high a value caused perf regressions with some targets.
* iscsid: increase kernel thread niceMike Christie2009-03-141-0/+21
| | | | | | | This sets the default xmit thread nice to -20. This will increase throughput and decrease latency, but could hog the cpu more. In the latter case you can set the nice in /etc/iscsi/iscsid.conf's node.session.xmit_thread_priority setting.
* userspace - add new transport cxgb3iKaren Xie2008-12-051-0/+9
| | | | | | | | | added new transport cxgb3i. This patch is based on the master branch of the git tree. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
* modify initial login retry maxMike Christie2008-09-241-4/+18
| | | | | | | | | | | | | | | | | | | | Now the retry count only controls the number of retries that we attempt when the initial login attempt timesout. It used to control the retry count for any error, which resulted in it having to be set really high and it was also difficult to figure out what to set it to since users (and me) have no idea how quickly the network layer will return errors in some cases. The retry count is also used to determine the max amount of time to wait for the initial login attempt. We do this by: login retry max * login timeout = max time This makes it easier for the user to calculate the max time that they will have to wait. The default time to wait is now 2 minutes for normal sessions and 7 minutes for root.
* iscsi conf: partially revert increase default login max changeMike Christie2008-09-241-3/+3
| | | | | | | | | | | 45 is too high if the connection is timing out. It is 45 * 15 seconds. This sets the retry limit to 8, which would make the connection timeout wait 2 minutes. This is still to few retries for the static ip problem, so in the next patch we will modify iscsid so it retries connection errors like this up to login_timeout * login_retry seconds. This would be 2 minutes which is working for the bug reporters on the list.
* iscsi conf: increase default login maxMike Christie2008-09-241-2/+5
| | | | | | | initial_login_retry_max is too short to be useful. We are getting a lot of login problems due to the EHOSTUNREACH static ip address, so this patch increases the default initial_login_retry_max to 45.
* pass ep to session creationMike Christie2008-05-191-1/+1
| | | | | | | | | | bnx2i allocates a host per session and iser accesses the device so we need to pass them a the leading connection so they can find the hardware that is it bound to. This also has us call ep_disconnect before calling the stop conn callout, so these driver do not have to worry about stopping the receiving path.
* Support mutlple ifaces with the same binding (lack of binding).Mike Christie2008-04-221-1/+6
| | | | | | | | | | | | | | | | | | | | | | If you wanted to be able to create multiple session to the same target portal, then you can now do iscsiadm -m iface -I iface0 -o new If you want to, set a binding: iscsiadm -m iface -I iface0 ....set your binding repeat iface creation iscsiadm -m discovery -t st -p ip:port -I iface0 -I iface1 -I .... or you can create and bind statically iscsiadm -m node -T my_target -i ip:port,tpgt -I iface0 -I iface1 -I .... then login like normal. Or you can login/logout of specific ifaces like with the normal binding. There is one known bug where discovery is not printing the portals and binding setup nicely.
* set header digests to off by defaultMike Christie2008-04-201-3/+3
| | | | Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
* Add bind by initiatornameMike Christie2008-04-201-5/+19
| | | | | | | | | | | | | | | | | | | | | | You can now setup the initiator to use multiple initiatornames which may come in handy for virtualization. To setup a iface with inames do: iscsiadm -m iface -o new -I iname0 iscsiadm -m iface -I iname0 -o update -n iface.initiatorname -v "your new name" Then you can bind and use the interface like you would before. QUIRK: Because you can pass in multiple ifaces to the discovery command we use the default initiator name in /etc/iscsi/initiatorname.iscsi for the discovery session. node.transport_name is no longer supported. In the next patches you will be able to use the default ifaces for these transports. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
* Update SUSE init scriptsHannes Reinecke2008-04-092-7/+166
| | | | | | | | | These are some updates to the SUSE init scripts, plus a new boot.open-iscsi script for SUSE. The latter is used for root on iscsi, to start iscsid as early as possible to avoid deadlocks on the root fs. Signed-off-by: Hannes Reinecke <hare@suse.de>
* When stopping open iscsi check that all the modules are going down correctlyDoron Shoham2008-01-213-3/+28
| | | | | | | | While stopping open-iscsi, the initd script removes the modules by running 'modprobe -r'. The retval of modprobe must be tested. Signed-off-by: Doron Shoham <dorons@voltaire.com>
* fix iscsid.conf comment about def qdepthMike Christie2007-12-151-1/+1
| | | | The default device qdepth is 32 and not 128.
* add SIGTERM iscsid handler and iscsiadm command to stop iscsidMike Christie2007-10-291-2/+1
| | | | | | | | | | | | You can now do killall iscsid or iscsiadm -k 0 to stop iscsid. This should not normally be done, because iscsid is required for normal initiator behavior. It is mostly for testing, iscsi boot or system shutdown. TODO: - more testing. I am pretty sure the original code is broken. For exmaple sending a SIGTERM to the log process then the daemon process will cause semop errors.
* allow setting of scsi eh timeoutsMike Christie2007-10-241-0/+11
| | | | | Allow users to change the scsi eh timeout settings and expose in sysfs.
* mv nop handling to kernelMike Christie2007-08-271-12/+7
| | | | | | | During root boot and shutdown the target could send us nops. At this time iscsid cannot be running, so the target will drop the session and the boot or shutdown will hang. This patch moves the nop handling to the kernel.
* add device reset support and fix some scsi eh bugs.Mike Christie2007-08-141-0/+16
| | | | | | | This patch adds logical unit reset support. It also fixes a bug where when the session lock is dropped so we can grab the recv lock, the iscsi eh thread could grab completely clean up the session. The recv lock would then be a null ptr.
* doc cmds max and queue depth valuesMike Christie2007-08-131-1/+14
|
* doc iscsi timers for multipath and rootMike Christie2007-08-131-1/+4
|
* fix red hat init scriptMike Christie2007-06-251-1/+1
| | | | | condrestart is checking iscsi lock when it should be checking open-iscsi (iscsi is only used in fedora).
* revert qla4xxx module loading for now and bump versionmnc2007-06-133-6/+0
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@865 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* stress that only one value should be set for the iface binding infomnc2007-06-121-1/+1
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@855 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* add a login retry param whichmnc2007-06-121-0/+14
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@852 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* Support bind by hw address or netdev (ip address is temp disabled because ↵mnc2007-05-302-28/+36
| | | | | | targets are not handling it well) and use the iface argument instead of the actual values git-svn-id: svn://svn.berlios.de/open-iscsi@845 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* from Tomasz Chmielewski: fix typo in iscsid.confmnc2007-05-021-1/+1
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@826 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* Rename iface.name to iface.hwaddress and make transport name part of the ↵mnc2007-04-244-5/+11
| | | | | | iface (driver and hardware are bound). Also merge the -D and -I arguments so they are now -I driver,hwaddress. Also add some basic qla4xxx support. We can rescan/scan it and perform sendtargets through it but it stores the targets it finds in Flash and then logs into all of them autmatically (when we do discovery and later when reload the driver). So qla4xxx support is mostly to make sure we have the --interfae argument right. We will have to decide how to set other params, manage nodes, and if we should move scanning to the kernel and then also move some error recovery code to the kernel (today qla4xxx is calling block directly and is not able to export it iscsi state yet (the beginnings to fix that is in the git tree but we still need to reduce some code duplcation)). qla4xxx behavior and functionality is going to change as we learn more about the hw (what format the flash data is supposed to be in for example). git-svn-id: svn://svn.berlios.de/open-iscsi@816 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* With qla4xxx and braodcom we will want to be able to match the the drivers ↵mnc2007-04-241-4/+17
| | | | | | as well as the other params, so add a -D param git-svn-id: svn://svn.berlios.de/open-iscsi@814 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* there were some fun leaks and places where we could segfault since we never ↵mnc2007-04-241-5/+10
| | | | | | check if the allocation succeeds, so this patch fixes them in the discovery code and it allows use to set the MaxRecvDataSegmentLength so we can set it higher for some targets which do not send multiple smaller pdus well git-svn-id: svn://svn.berlios.de/open-iscsi@787 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* some doc updatesmnc2007-04-241-0/+19
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@780 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* check some iscsi and initiator settings before use and drop down to defaults ↵mnc2007-02-211-2/+2
| | | | | | if invalid values are passed in git-svn-id: svn://svn.berlios.de/open-iscsi@776 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* from tomo: add basic isns supportmnc2007-01-271-0/+12
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@766 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* from hannes: use -q when loading ib_isermnc2007-01-221-2/+2
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@762 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* fix bad timeout settingmnc2006-11-281-1/+1
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@746 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* adjust default nop intervalmnc2006-11-281-2/+2
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@745 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* doc iscsid.conf valuesmnc2006-11-221-14/+143
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@732 d7303112-9cec-0310-bdd2-e83a94d6c2b6
* logoutall=all instead of automatic ones and rm done usage in debian scriptmnc2006-11-133-5/+3
| | | | git-svn-id: svn://svn.berlios.de/open-iscsi@728 d7303112-9cec-0310-bdd2-e83a94d6c2b6