Commit Graph

531 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin 65d1b76e50 iscsi-scst: Make locking requirements explicit
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5101 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-13 04:51:05 +00:00
Bart Van Assche 2fa0405930 iscsi-scst: Build fix for non-debug kernels (follow-up for r5095)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5100 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-12 08:22:39 +00:00
Vladislav Bolkhovitin 62fffa45dc scst_sysfs: Trigger a lockdep complaint if sysfs work
could trigger a deadlock

This patch causes lockdep to complain if sysfs work could trigger a deadlock.
As an example, for the patch below the following lockdep complaint is generated:

======================================================
[ INFO: possible circular locking dependency detected ]
3.12.0-rc7-dbg+ #5 Tainted: GF          O
-------------------------------------------------------
scst_mgmtd/7527 is trying to acquire lock:
 (scst_tgt_dev){+.+.+.}, at: [<ffffffffa01f9365>] scst_tgt_dev_sysfs_del+0x105/0x1a0 [scst]

but task is already holding lock:
 (&scst_mutex){+.+.+.}, at: [<ffffffffa01eaa46>] scst_free_session+0x56/0x2c0 [scst]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-> #1 (&scst_mutex){+.+.+.}:
       [<ffffffff810be983>] lock_acquire+0x93/0x150
       [<ffffffff81619617>] mutex_lock_interruptible_nested+0x77/0x500
       [<ffffffffa01f1f9f>] scst_tgt_dev_process_thread_pid_show+0x5f/0x120 [scst]
       [<ffffffffa01f38d6>] scst_process_sysfs_works+0xe6/0x1d0 [scst]
       [<ffffffffa01f7af0>] sysfs_work_thread_fn+0x120/0x2b0 [scst]
       [<ffffffff8107482a>] kthread+0xea/0xf0
       [<ffffffff81625f6c>] ret_from_fork+0x7c/0xb0

-> #0 (scst_tgt_dev){+.+.+.}:
       [<ffffffff810bdc8a>] __lock_acquire+0x14fa/0x1a60
       [<ffffffff810be983>] lock_acquire+0x93/0x150
       [<ffffffffa01f20df>] scst_kobject_put_and_wait+0x6f/0x140 [scst]
       [<ffffffffa01f9365>] scst_tgt_dev_sysfs_del+0x105/0x1a0 [scst]
       [<ffffffffa01e9114>] scst_free_tgt_dev+0x84/0x210 [scst]
       [<ffffffffa01ea80b>] scst_sess_free_tgt_devs+0x6b/0x100 [scst]
       [<ffffffffa01eaa4e>] scst_free_session+0x5e/0x2c0 [scst]
       [<ffffffffa01ead4e>] scst_free_session_callback+0x9e/0x170 [scst]
       [<ffffffffa01d5a9a>] scst_global_mgmt_thread+0x24a/0x550 [scst]
       [<ffffffff8107482a>] kthread+0xea/0xf0
       [<ffffffff81625f6c>] ret_from_fork+0x7c/0xb0

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&scst_mutex);
                               lock(scst_tgt_dev);
                               lock(&scst_mutex);
  lock(scst_tgt_dev);

 *** DEADLOCK ***

1 lock held by scst_mgmtd/7527:
 #0:  (&scst_mutex){+.+.+.}, at: [<ffffffffa01eaa46>] scst_free_session+0x56/0x2c0 [scst]

stack backtrace:
CPU: 1 PID: 7527 Comm: scst_mgmtd Tainted: GF          O 3.12.0-rc7-dbg+ #5
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/31/2013
 ffffffff822efd40 ffff88007b7c1ac8 ffffffff8161464a ffffffff822efd40
 ffff88007b7c1b08 ffffffff81610d02 ffff88007b7c1b60 ffff8800692748c0
 0000000000000000 ffff880069274898 ffff880069274120 ffff8800692748c0
Call Trace:
 [<ffffffff8161464a>] dump_stack+0x4e/0x82
 [<ffffffff81610d02>] print_circular_bug+0x201/0x210
 [<ffffffff810bdc8a>] __lock_acquire+0x14fa/0x1a60
 [<ffffffff810be983>] lock_acquire+0x93/0x150
 [<ffffffffa01f9365>] ? scst_tgt_dev_sysfs_del+0x105/0x1a0 [scst]
 [<ffffffffa01f20df>] scst_kobject_put_and_wait+0x6f/0x140 [scst]
 [<ffffffffa01f9365>] ? scst_tgt_dev_sysfs_del+0x105/0x1a0 [scst]
 [<ffffffffa01f9365>] scst_tgt_dev_sysfs_del+0x105/0x1a0 [scst]
 [<ffffffffa01e9114>] scst_free_tgt_dev+0x84/0x210 [scst]
 [<ffffffffa01ea80b>] scst_sess_free_tgt_devs+0x6b/0x100 [scst]
 [<ffffffffa01eaa4e>] scst_free_session+0x5e/0x2c0 [scst]
 [<ffffffffa01ead4e>] scst_free_session_callback+0x9e/0x170 [scst]
 [<ffffffffa01d5a9a>] scst_global_mgmt_thread+0x24a/0x550 [scst]
 [<ffffffff81075850>] ? wake_up_atomic_t+0x30/0x30
 [<ffffffffa01d5850>] ? scst_register_session_non_gpl+0x20/0x20 [scst]
 [<ffffffff8107482a>] kthread+0xea/0xf0
 [<ffffffff81074740>] ? kthread_create_on_node+0x140/0x140
 [<ffffffff81625f6c>] ret_from_fork+0x7c/0xb0
 [<ffffffff81074740>] ? kthread_create_on_node+0x140/0x140



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5095 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-09 07:40:09 +00:00
Vladislav Bolkhovitin 388cb01060 Fix NopInInterval README info to show that a NOP-In will timeout
when NopInTimeout seconds and not the RspTimeout seconds has passed
without getting a response.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5094 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-09 03:21:19 +00:00
Vladislav Bolkhovitin 13ee8e1649 We were setting the next timeout check to be the current time plus
the timeout value. The problem is that if commands were started at
00:00:05 and 00:00:10 and the timeout value was 15 seconds and the
first command completed ok, then conn_rsp_timer_fn would have run
at 00:00:20 and rescheduled the next conn_rsp_timer_fn run for 15
secs from that time (00:00:35). But, we would have wanted to check on
the second command at 15 secs after its write_start time which is
00:00:25.

This patch has us reschedule the next conn_rsp_timer_fn run for
the req's write_start time + its timeout.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5093 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-09 03:19:33 +00:00
Vladislav Bolkhovitin 1f4f117f3f This patch fixes 2 issues.
1. If we have a nop in flight then we do not really need to send
more to test if the other side is still there. Either that nop
will timeout and conn will be dropped or it will complete
and last_rcv_time will be updated.

2. We are sending nop-ins every nop_in_interval seconds, but if
we got a data half way in to the window, then when conn_nop_in_delayed_work_fn
is run it was scheduling the next check to be nop_in_interval more
seconds. With the current settings this could end up with us waiting
59 secs before sending a nop and about 130 secs for it to timeout, when
at 61 it should be timing out and getting cleaned up already. This patch
has us take into account when the last time we got data to try and
reschedule the next nop check closer to nop_in_interval from that time.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5092 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-09 03:10:38 +00:00
Vladislav Bolkhovitin 10840a381f A problem we are hitting is that we could hit a network issue
when a command/data is in the process of being sent. The snd
buffer space goes to zero and sendpage returns -EAGAIN. We then
wait for space to open. If space never opens then the cmd rsp timer
fires and the session/connection is dropped.

During that time we could try to send a nop as a ping, but it
is stuck behind that other command that got EAGAIN and we are
waiting for space to open to send them. We would expect the
nop in timer to fire before the cmd rsp timer, but it cannot
becuase the nop is sitting in the internal iscsi-scst queue.

This patch just has us start the timer ont he nop in right
away.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5091 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-09 03:02:59 +00:00
Vladislav Bolkhovitin 2d874f7cb8 scst_sysfs: Introduce scst_kobject_put_and_wait()
This patch does not change any functionality other than the message
printed when it takes more than one second before the completion is
signalled.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5086 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-31 04:44:52 +00:00
Vladislav Bolkhovitin b96ab2a8bf iscsi-scst: Fix a race condition triggered by logout
This patch fixes the following crash:

general protection fault: 0000 [#1] PREEMPT SMP
Modules linked in: scst_local(O) iscsi_scst(O) scst_vdisk(O) libcrc32c scst(O) brd netconsole target_core_mod configfs fcoe libfcoe libfc scsi_transport_fc scsi_tgt ib_iser rdma_cm ib_addr iw_cm ib_cm ib_sa ib_mad ib_core iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi aesni_intel aes_x86_64 glue_he
lper parport_pc ppdev lrw gf128mul ablk_helper cryptd joydev microcode mperf psmouse i2c_piix4 processor button intel_agp intel_gtt agpgart lp parport hid_generic usbhid hid ext4 jbd2 mbcache floppy ata_piix
CPU: 0 PID: 7735 Comm: iscsiwr3 Tainted: G           O 3.11.0-debug+ #1
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
task: ffff88000850cfc0 ti: ffff88002ea5c000 task.ti: ffff88002ea5c000
RIP: 0010:[<ffffffffa038dd7b>]  [<ffffffffa038dd7b>] target_del_all_sess+0x9b/0x180 [iscsi_scst]
RSP: 0018:ffff88002ea5dcc0  EFLAGS: 00010286
RAX: 00000000fffffffe RBX: dead0000000fefc0 RCX: 0000000000000001
RDX: ffff88000e609460 RSI: 001e00004f011780 RDI: ffff88000e609460
RBP: ffff88002ea5dce8 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff88000e6093b0
R13: ffff88000e609460 R14: 0000000000000000 R15: ffff88003e948158
FS:  0000000000000000(0000) GS:ffff88000f800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000427248 CR3: 0000000036d64000 CR4: 00000000000407f0
Stack:
 ffff88000e6093b0 ffff88003e85d600 ffff88003e948000 0000000000000030
 0000000000000000 ffff88002ea5dd28 ffffffffa038002b 0000000000000001
 ffff88003e55f880 ffff88002ea5dd28 ffffffffa0384d13 ffff88003e948000
Call Trace:
 [<ffffffffa038002b>] cmnd_tx_end+0x1db/0x1e0 [iscsi_scst]
 [<ffffffffa0384d13>] ? iscsi_do_send+0x23/0x60 [iscsi_scst]
 [<ffffffffa0385021>] iscsi_send+0x2d1/0x480 [iscsi_scst]
 [<ffffffff8104a802>] ? local_bh_enable_ip+0x82/0x110
 [<ffffffffa0380e8f>] ? conn_get+0x1f/0x70 [iscsi_scst]
 [<ffffffffa0385290>] scst_do_job_wr+0xc0/0x2d0 [iscsi_scst]
 [<ffffffffa038560d>] istwr+0x16d/0x2e0 [iscsi_scst]
 [<ffffffff8106a2e0>] ? wake_up_bit+0x40/0x40
 [<ffffffffa03854a0>] ? scst_do_job_wr+0x2d0/0x2d0 [iscsi_scst]
 [<ffffffff81069ea6>] kthread+0xd6/0xe0
 [<ffffffff81069dd0>] ? kthread_create_on_node+0x110/0x110
 [<ffffffff814debfc>] ret_from_fork+0x7c/0xb0
Code: 00 00 49 8b 94 24 b0 00 00 00 48 8b 1a 48 8d b2 c0 ee ff ff 48 81 eb 40 11 00 00 49 39 d5 74 28 44 89 f2 4c 89 e7 e8 15 fd ff ff <48> 8b 8b 40 11 00 00 48 89 de 48 8d 93 40 11 00 00 49 39 d5 48
[  474.156827] RIP  [<ffffffffa038dd7b>] target_del_all_sess+0x9b/0x180 [iscsi_scst]
 RSP <ffff88002ea5dcc0>

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5019 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-03 05:04:15 +00:00
Vladislav Bolkhovitin 844e194647 Update for kernels 3.11.x
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5004 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-28 04:23:45 +00:00
Vladislav Bolkhovitin 719b8be3f7 Fix incorrect logging of negotiated data digest
Reported by Klaus Hochlehnert <Mailings@kh-dev.de>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5003 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-28 04:04:47 +00:00
Vladislav Bolkhovitin e329cc5abb Make SCST patters matching, for instance, to match initiator names to their group names, case insensitive
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4981 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-28 22:47:21 +00:00
Bart Van Assche 75f9be4b34 iscsi-scst: Spelling fix - change dublicate into duplicate
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4926 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-07-29 10:43:00 +00:00
Vladislav Bolkhovitin 2e9540c902 Update for kernel 3.10
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4921 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-07-25 23:38:31 +00:00
Bart Van Assche 88ae3b7c78 iSCSI-SCST: Fix a sparse warning introduced via r4852
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4854 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-18 15:48:17 +00:00
Vladislav Bolkhovitin 9b674796d6 Update to kernel 3.9
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4853 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-18 03:41:04 +00:00
Vladislav Bolkhovitin 2093dd7561 Make it possible to forcibly close SRP and FC sessions via sysfs
That patch contains the following changes:
* Move the code for creating a "close_sess" sysfs attribute from iscsi-scst to
  the SCST core such that it becomes available for other target drivers. This
  does not change the functionality of iscsi-scst.
* Add code in ib_srpt and qla2x00t to allow a session to be forcibly closed from
  user space.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>




git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4852 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-18 00:52:46 +00:00
Vladislav Bolkhovitin 40e8a76637 Add possibility to specify local compilation flags
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4841 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-04-23 03:21:39 +00:00
Vladislav Bolkhovitin 66b30be796 Resource agents git repository added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4832 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-04-06 03:37:31 +00:00
Vladislav Bolkhovitin 82f7d66e5e Cleanup: remove unused variable
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4810 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-03-25 23:03:05 +00:00
Vladislav Bolkhovitin 2cadcc2c64 Cache alignment review
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4809 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-03-23 01:38:31 +00:00
Vladislav Bolkhovitin 369863f015 Allow install SCST in any location
Currently the install location of SCST is pretty much hard coded into 
the Makefiles to be /usr/local.

I am custom building a system for ZFS & SCST and I want to install in 
/usr instead of /usr/local.

Currently I am doing a “find . -name Makefile -exec sed -i 's:/usr/local:/usr:g'
{} \;” to accommodate this.

This patch fixes it.

From Sietse van Zanen <sietse@wizdom.nu>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4791 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-03-08 21:25:45 +00:00
Vladislav Bolkhovitin 9ea9eec4ef Cleanups and minor fixes
Suggested by Manfred_Knick <Manfred.Knick@T-Online.de>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4790 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-03-08 21:00:09 +00:00
Vladislav Bolkhovitin b9c0b9d92d Another micro-optimization: cache align all fast path structures
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4785 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-03-04 23:51:16 +00:00
Vladislav Bolkhovitin 7e844f7dc0 Fix copy-paste error reported by julian freed <j321112@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4780 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-03-02 04:22:00 +00:00
Vladislav Bolkhovitin 79bf4e77c6 Update for 3.8 kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4768 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-02-23 00:44:56 +00:00
Vladislav Bolkhovitin 10ca1d2f20 Copyrights updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4767 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-02-20 02:05:29 +00:00
Vladislav Bolkhovitin 0252d5f9c9 Limit FirstBurstLength to improve TASK QUEUE FULL handling
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4764 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-02-19 01:17:33 +00:00
Vladislav Bolkhovitin b3908d7447 Wrong task attribute isn't error, so warning message should be issued instead
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4753 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-02-04 23:55:34 +00:00
Vladislav Bolkhovitin bd7c893f04 Multiple makefiles: autodetect SCST include directory
It is cumbersome to change SCST_INC_DIR and SCST_DIR in each Makefile
before and after a release. Hence modify the Makefiles such that these
paths are detected automatically.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4740 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-16 00:12:38 +00:00
Vladislav Bolkhovitin ae6485796d Targets should be deleted after all its sessions deleted
Each session on delete is looking for each target.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4726 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-09 01:38:05 +00:00
Vladislav Bolkhovitin ddae1f7a63 Fix incorrect duplicate connection sysfs entry detection
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4680 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-04 03:08:29 +00:00
Vladislav Bolkhovitin e7e9101efd Automate release archive generation
This patch makes it easier to generate the release archives that
can be downloaded from http://scst.sourceforge.net/downloads.html.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4679 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-01-04 00:29:30 +00:00
Bart Van Assche 2a50de2e4e iscsi-scst: Build fix for kernels 3.6.1..3.6.10
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4646 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-18 08:22:05 +00:00
Vladislav Bolkhovitin 299c407697 Update for kernel 3.7
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4645 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-17 23:09:58 +00:00
Bart Van Assche b74ed85a0c iscsi-scst: Fix recently introduced compiler warnings
Fix the following two compiler warnings:

chap.c: In function 'chap_rand':
chap.c:347:5: warning: implicit declaration of function 'read' [-Wimplicit-function-declaration]
chap.c:348:5: warning: implicit declaration of function 'close' [-Wimplicit-function-declaration]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4623 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-18 14:27:50 +00:00
Vladislav Bolkhovitin b30651cda0 Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4622 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-14 23:48:52 +00:00
Vladislav Bolkhovitin b238320767 target_del(): don't exit on existing sessions
Target_del() might has not yet received all connections close events, so
it can still has alive sessions. Wait for them to disappear.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4617 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-13 20:55:51 +00:00
Vladislav Bolkhovitin 54ffcc75c8 Fix incorrect check for TSIH wrap around
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4606 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-07 22:03:07 +00:00
Vladislav Bolkhovitin 7ecc784143 Add forgotten list_del() on session creation error path
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4569 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-03 02:08:40 +00:00
Vladislav Bolkhovitin 5cdfbd1817 Make CHAP random number generator stronger
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4568 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-03 02:03:15 +00:00
Bart Van Assche 3e639ad97a scst/README: Move information from the SCST wiki into the Subversion tree
The wiki has been announced to be shut down in 2012Q4 toghether with all
other hosted SourceForge apps, so move the information from there into the
SCST source tree.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4563 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-17 17:53:48 +00:00
Vladislav Bolkhovitin a698883844 Switch to the new and preferred approach for printing kernel messages
From: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4558 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-10 03:01:34 +00:00
Vladislav Bolkhovitin 0b8bd29208 Single-statement macros should not use do { } while (0)
From: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4557 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-10 02:57:07 +00:00
Vladislav Bolkhovitin 73c992f7dd Convert sizeof expr into sizeof(expr)
Avoids that the checkpatch tool included in kernel 3.6 emits the
following warning:

WARNING: sizeof *attr should be sizeof(*attr)

This patch has been generated by running the following command over
the SCST source tree and by reviewing these changes manually:

find -name '*.[ch]' |
  xargs -d\\n sed -i.tmp -e 's/sizeof  *\([^(][^(),; ]*\)/sizeof(\1)/g'

From: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4556 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-10 02:55:31 +00:00
Vladislav Bolkhovitin 05bff10f05 During nexus loss reservations should not be cleared + add possibility for device specific states be retained during nexus loss as well.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4546 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-04 20:32:59 +00:00
Vladislav Bolkhovitin 57d7bcd809 Fix 2 bugs in iscsi_attr_replace() sent by Lev Vainblat <lev@zadarastorage.com>:
1. After attr was found in the attrs_list, it is inserted again back into the same list. As a result the list becomes corrupted.

The bug can be reproduced for example by the following sequence:

    $ echo add_attribute IncomingUser user secret111111 > /sys/kernel/scst_tgt/targets/iscsi/mgmt
    $ echo user secret222222 > /sys/kernel/scst_tgt/targets/iscsi/IncomingUser
    $ echo del_attribute IncomingUser user > /sys/kernel/scst_tgt/targets/iscsi/mgmt
    $ iscsiadm -m discovery -t st -p 127.0.0.1

Discovery fails and in syslog there is a message

    Oct  2 18:58:37 vsa-00000611 iscsi-scstd: [1059] cmnd_exec_login:940: ERROR: Authentication of initiator iqn.2011-04.com.zadarastorage:1553:vc-0 failed

2. Small memory leak in error recovery path.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4545 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-04 18:34:25 +00:00
Vladislav Bolkhovitin 1a8577c59c Update for 3.6 kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4538 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-01 22:10:47 +00:00
Vladislav Bolkhovitin 96f498e9c8 Add support patch for rebuilding RHEL 6.3 kernel RPM
Add put_page_callback-2.6.32-279.patch (a copy of the RHEL 6.2 version
of the same patch) such that scripts/rebuild-rhel-kernel-rpm can rebuild
the RHEL 6.3 kernel RPM.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4535 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-09-29 22:34:58 +00:00
Vladislav Bolkhovitin 7b1f00d2cb Increase version to -pre2. Pre1 was staying for too long.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4519 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-09-14 01:33:58 +00:00