Commit Graph

3775 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin
7502f47dad Fix small possible race in sessions management
In q2t_del_sess_work_fn() session can get ready to be destroyed before
hardware_lock is taken

From Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5020 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-04 02:17:43 +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
1342a944db Fix recently discovered races in sessions management
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5018 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-03 04:24:39 +00:00
Vladislav Bolkhovitin
b1d5d64a7c Add list_entry_in_list()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5017 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-03 04:24:25 +00:00
Bart Van Assche
16cd03ea1b nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5016 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-02 10:48:46 +00:00
Vladislav Bolkhovitin
f27af1b46e Fix incorrect NUMBER OF LOGICAL BLOCKS handling in WRITE SAME command
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5015 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-02 05:10:56 +00:00
Vladislav Bolkhovitin
69643b4b5d Change write residual underflow handling
Now it writes only supplied amount of data.

Reported by Klaus Hochlehnert <Mailings@kh-dev.de>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5014 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-02 04:53:12 +00:00
Bart Van Assche
c296055104 fcst: Avoid that checkpatch complains about 'struct spinlock'
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5013 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-01 06:21:38 +00:00
Bart Van Assche
2e2dfc5e36 nightly build: Add kernel 3.11
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5007 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-28 16:05:52 +00:00
Bart Van Assche
dad77aead4 nightly build: Add kernel 3.11 build infrastructure
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5006 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-28 16:04:47 +00:00
Vladislav Bolkhovitin
9f8b8ca6d0 scst_pres: Fix spelling in a debug tracing statement
Change all occurrences of "APTL" into "APTPL" (Activate Persist
Through Power Loss).

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




git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5005 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-28 04:31:39 +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
Bart Van Assche
858d02e558 [PATCH] ib_srpt: Always set RSPVALID flag in task management replies
The SRP spec requires not only to set the RSPVALID flag and the RSP_CODE
field if a task management function failed but also if it succeeded. This
patch avoids that the SRP initiator interprets task managment functions
that succeeded as failed.

Reported-by: Jack Wang <jinpu.wang@profitbricks.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5002 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-27 13:40:58 +00:00
Vladislav Bolkhovitin
9d1d74e7a8 If vfs_readv()/vfs_writev() are used, loff will be adjusted automatically
+ cleanup



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5001 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-13 09:32:35 +00:00
Vladislav Bolkhovitin
5bd3752f7e Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5000 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-13 07:29:54 +00:00
Bart Van Assche
4c2b6e8fe1 scst, implicit ALUA: Document locking strategy
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4999 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-12 10:09:58 +00:00
Vladislav Bolkhovitin
e3b9d00d97 qla2x00t: Simplify q2t_create_sess()
Replace a kmalloc() and sprintf() call by a kasprintf() call. This
patch does not change any functionality.

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4998 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-11 22:44:04 +00:00
Vladislav Bolkhovitin
8a03df3ed0 Improve FORMAT UNIT
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4997 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-11 02:56:47 +00:00
Bart Van Assche
7eb2b54fca nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4996 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-10 18:01:55 +00:00
Vladislav Bolkhovitin
55bfd106f0 Cosmetics
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4995 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-10 04:03:14 +00:00
Vladislav Bolkhovitin
7ac1a842e2 If supported, unmap everything on FORMAT UNIT
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4994 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-10 03:58:46 +00:00
Vladislav Bolkhovitin
e913b69ef9 Cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4993 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-10 03:01:41 +00:00
Bart Van Assche
47c84d3ec8 ib_srpt: Build fix for r4984
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4992 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-09 05:46:22 +00:00
Bart Van Assche
08bfd4c19a ib_srpt: Rework r4984 (skip Ethernet ports)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4991 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-08 10:20:54 +00:00
Bart Van Assche
38a6e069fa nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4990 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-08 07:03:30 +00:00
Vladislav Bolkhovitin
a2ec09f24f Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4989 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-07 04:44:26 +00:00
Bart Van Assche
6b6bcca4c8 scstadmin: Ensure that the version number can be parsed from inside Makefile.PL
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4988 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-06 06:39:25 +00:00
Vladislav Bolkhovitin
1d160d287e Cosmetics
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4987 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-06 04:06:12 +00:00
Vladislav Bolkhovitin
be9ca893d5 Docs updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4986 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-04 01:50:55 +00:00
Bart Van Assche
c526e00d39 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4985 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-03 10:00:41 +00:00
Bart Van Assche
523e2b3e59 ib_srpt: Skip Ethernet ports
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4984 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-02 07:31:12 +00:00
Vladislav Bolkhovitin
592ed0b587 Cleanup: SCSI status/sense must be explicitly set in those functions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4982 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-30 02:49:45 +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
85e9255f37 ib_srpt: Add P_Key support
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4980 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-27 06:39:45 +00:00
Bart Van Assche
9642081700 ib_srpt: Clean up srpt_handle_send_comp()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4979 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-27 06:36:52 +00:00
Bart Van Assche
70017e3883 ib_srpt: Remove two statements that became superfluous from srpt_abort_cmd()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4978 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-27 06:35:39 +00:00
Bart Van Assche
25059b6a81 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4977 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-21 09:54:18 +00:00
Bart Van Assche
fd5213ffe1 scst/src/scst_priv.h: Remove duplicate const since sparse complains about it
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4976 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-18 10:03:42 +00:00
Bart Van Assche
2ed2d3bce2 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4975 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-16 11:07:58 +00:00
Vladislav Bolkhovitin
fac009829c Cleanup and add scst_create_devt_attr() and scst_create_dev_attr() for symmetry
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4974 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-15 23:44:21 +00:00
Bart Van Assche
905acc6815 scst: Make scst_create_tgt_attr() return the correct error code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4973 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-15 06:25:06 +00:00
Vladislav Bolkhovitin
c282b7964e Simplify, fix and improve commands ordering
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4972 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-15 05:47:32 +00:00
Vladislav Bolkhovitin
24238e4654 Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4971 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-15 05:43:27 +00:00
Vladislav Bolkhovitin
f8f2580fcd From: Benjamin Black <Benjamin.Black@Emulex.Com>
There is not a way to specify an attribute that applies to only one
target or target driver. This patch provides such an interface.

Copyright (C) 2013  Emulex.  All rights reserved.

This software is provided as-is, without any express or implied warranty.  In
no event will Emulex be held liable for any damages arising from the use of
this software. Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and redistribute it
freely. If you use this software in a product, an acknowledgment in the
product documentation would be appreciated, but is not required. This notice
may be removed from any source code distribution that includes all or any part
of the original software.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4970 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-15 05:34:33 +00:00
Bart Van Assche
886ae66326 fcst: Avoid triggering CRC errors at the initiator side
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4969 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:43:56 +00:00
Bart Van Assche
80ba881d46 fcst: Fix ft_abort_cmd()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4968 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:43:26 +00:00
Bart Van Assche
e6610624ae fcst: Report FC send errors
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4967 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:41:38 +00:00
Bart Van Assche
6c5328df1d fcst: Use proper length variable for bidir commands in ft_recv_write_data()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4966 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:41:17 +00:00
Bart Van Assche
76cc1e8857 fcst: Always report FC exchange errors
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4965 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:40:34 +00:00