Vladislav Bolkhovitin
8599ec4452
Reimplement dropping of TM requests in a more reliable manner
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5395 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-26 23:51:36 +00:00
Vladislav Bolkhovitin
b4ba1b24c7
iscsi-scst: fix offset calculation
...
Fixed a subtle bug in iSCSI-SCST with incorrectly calculated offsets
for non-page aligned transfers. Originally discovered, investigated and
fix suggested by Кирилл Тюшев, then Shahar Salzman tested and proved it.
See http://sourceforge.net/mailarchive/message.php?msg_id=31924078
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5281 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-13 04:02:56 +00:00
Vladislav Bolkhovitin
00851a7501
Merge of adding iSER web page and copyright updates from the iSER branch
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5241 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-28 05:17:26 +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
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
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
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
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
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
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
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
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
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
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
e9008a5b12
Fix possible BUG_ON() on multiple forced commands release
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4513 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-09-11 20:38:57 +00:00
Vladislav Bolkhovitin
3861a12da5
Fix incorrect errors handling. Detected by smatch.
...
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4492 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-08-27 22:12:15 +00:00
Vladislav Bolkhovitin
955113f493
Sense handling improvements
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4408 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-07-18 21:28:57 +00:00
Vladislav Bolkhovitin
e1d73542b2
iSCSI-SCST: Fix a typo in an error message
...
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4251 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-30 19:29:47 +00:00
Vladislav Bolkhovitin
921e533528
Rename scst_alloc()/scst_free() to scst_alloc_sg()/scst_free_sg()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4247 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-28 00:25:41 +00:00
Vladislav Bolkhovitin
eb95049061
Copyrights updated + cleanups
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4216 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-18 02:26:39 +00:00
Vladislav Bolkhovitin
0dd7573989
Fix for missed mempool_destroy() in case when CONFIG_TCP_ZERO_COPY_TRANSFER_COMPLETION_NOTIFICATION not defined noticed by Bart Van Assche <bvanassche@acm.org>
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4208 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-04-13 20:28:50 +00:00
Vladislav Bolkhovitin
49c56244a1
Fix 3.3 checkpatch warnings about min()and max()
...
Fix three occurrences of the following warnings reported by the checkpatch
script included with Linux kernel version 3.3:
WARNING: min() should probably be min_t()
WARNING: max() should probably be max_t()
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4172 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-27 01:46:51 +00:00
Vladislav Bolkhovitin
d5ffb2234b
Cleanup mgmt parameters initialization.
...
It's better to do it via a single function.
Patch from Alexey Obitotskiy <alexeyo1@open-e.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4165 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-23 22:03:22 +00:00
Vladislav Bolkhovitin
50120c37b3
scst_cmd_aborted() is a bad and ambiguous name. Rename it to scst_cmd_aborted_on_xmit() and create a new version, which truly reflects its semantic.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4143 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-24 02:24:06 +00:00
Vladislav Bolkhovitin
7872837b6b
Replace list_entry((a)->next, b, c) by list_first_entry(a, b, c).
...
BSD-signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3965 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-12-10 03:50:24 +00:00
Vladislav Bolkhovitin
295adebc0f
Use get/put_unaligned_be<n>(...) instead of
...
get/put_unaligned(cpu_to_be<n>(...)).
BSD-Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3941 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-12-01 03:28:39 +00:00
Bart Van Assche
49147b3d8d
Change __constant_cpu_... into cpu_... since the latter is also evaluated at compile time.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3806 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-08-14 19:03:03 +00:00
Bart Van Assche
705c3754a2
Remove superfluous double quotes from around #warning messages because checkpatch 3.0 complains about these.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3789 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-29 12:58:13 +00:00
Vladislav Bolkhovitin
2f1745eec1
Set data_out_in_data_receiving for preliminary completed commands as
...
well to prevent releasing them too early in iscsi_check_tm_data_wait_timeouts()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3546 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-06 21:04:04 +00:00
Bart Van Assche
c37081aed5
Move spaces in long #warning/#error lines to the end of the previous line to shut up checkpatch.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3495 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-01 06:59:40 +00:00
Bart Van Assche
b901fe2958
iSCSI-SCST builds again on RHEL 5.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3488 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-05-28 10:37:46 +00:00
Bart Van Assche
fc82862369
iscsi-scst: Fixed a compilation error that only occurred with GENERATING_UPSTREAM_PATCH defined.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3452 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-05-13 06:13:52 +00:00
Vladislav Bolkhovitin
5e7544e5a4
TM handling fixes, part2, hopefully, final.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3450 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-05-12 01:31:01 +00:00
Bart Van Assche
663d39f1ea
iscsi-scst/kernel/iscsi.c: fix a checkpatch complaint about whitespace.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3447 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-05-11 11:00:01 +00:00
Vladislav Bolkhovitin
70eb596f60
Rework iSCSI aborts to make them more correct and remove recent workarounds (one more post-IET cleanup)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3444 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-05-09 23:07:23 +00:00
Vladislav Bolkhovitin
08ab8e40be
Rerference on the orig cmd should be taken during data out processing to correctly perform aborts
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3414 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-04-26 00:06:23 +00:00
Vladislav Bolkhovitin
3c59daab2a
Correctly process being read cmd during abort
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3413 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-04-26 00:04:01 +00:00
Vladislav Bolkhovitin
d77d19286f
TRACE_OUT_OF_MEM cleanups
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3329 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-04-01 17:43:46 +00:00
Vladislav Bolkhovitin
4539005d7c
Patch from Alexey Obitotskiy <alexeyo1@open-e.com> making get_initiator_port_transport_id() more flexible
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3322 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-03-29 14:30:01 +00:00
Vladislav Bolkhovitin
16f654b5ad
Update for 2.6.38
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3294 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-03-21 14:10:50 +00:00
Bart Van Assche
ce918fa396
Spelling fix (in source code comments): reaquire -> reacquire.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3265 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-02-27 09:46:41 +00:00
Vladislav Bolkhovitin
f3238333dd
Copyrights updated
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3200 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-01-06 20:02:04 +00:00
Bart Van Assche
1b72343266
Added "const" to keep checkpatch happy.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3191 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-01-05 13:14:25 +00:00
Vladislav Bolkhovitin
a98808185f
Ignore out of SN range commands as requested by iSCSI RFC.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2639 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-11-09 14:23:25 +00:00
Vladislav Bolkhovitin
a565f89eb4
Don't return SN errors on IMMEDIATE commands
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2575 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-11-02 20:05:54 +00:00
Vladislav Bolkhovitin
27ed60c19d
Let's be safe and always do memory barrier after all *_get().
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2462 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-10-25 13:09:47 +00:00
Bart Van Assche
2df8fb30d5
Whitespace-only changes: addressed most whitespace complaints reported by the 2.6.36 checkpatch tool.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2431 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-10-21 13:10:15 +00:00
Vladislav Bolkhovitin
f245543a36
Cleanup of support of kernels prior 2.6.18
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2368 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-10-08 13:01:15 +00:00
Vladislav Bolkhovitin
d7e087e3b2
Minor extended CDBs handling cleanups and fixes
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2351 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-10-05 20:06:54 +00:00