Bart Van Assche
82dcb36065
fcst: Change version number from 0.3 into 3.0.0
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.0.x@5800 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-09-12 11:19:21 +00:00
Bart Van Assche
b9e294349c
fcst/Makefile: Add release-archive target (merge r5798 from trunk)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.0.x@5799 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-09-12 11:17:49 +00:00
Bart Van Assche
3bbd4c4e12
scst: Leave out FSF mail address (merge r5572 from trunk)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.0.x@5694 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-07-20 06:47:58 +00:00
Bart Van Assche
ab2aa0543a
fcst: Handle frame send failures properly (merge r5607 from trunk)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.0.x@5691 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-07-20 06:05:27 +00:00
Bart Van Assche
053aff714f
fcst: Move exch_done() calls into ft_cmd_done() (merge r5606 from trunk)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.0.x@5690 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-07-20 06:04:43 +00:00
Bart Van Assche
2ab0ad7935
fcst: Remove an unused variable (merge r5605 from trunk)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.0.x@5689 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-07-20 06:03:55 +00:00
Bart Van Assche
87e512601a
Skip "depmod" while building an RPM (merge r5612 from trunk)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.0.x@5634 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-06-29 05:22:58 +00:00
Bart Van Assche
7d89372c53
Makefiles: respect DESTDIR when specified
...
Not all SCST components handle DESTDIR properly, or at all.
In particular:
* INSTALL_MOD_PATH should account for DESTDIR when 'make modules_install'
is invoked, so the kernel make infrastructure deploys the modules
and runs depmod against the proper directory tree.
* depmods must include a '-b' option to reference the proper directory tree.
* Drop special ISCSI_DESTDIR.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5289 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-18 08:40:36 +00:00
Bart Van Assche
79b8ce942e
Makefiles: calculate KVER properly
...
When deriving the kernel version (KVER) from KDIR, the file
$(KDIR)/include/config/kernel.release should be preferred over
'make kernelversion'.
For example, the Ubuntu 3.2.0-23-generic kernel has a kernel.release
file containing '3.2.0-23-generic', but 'make kernelversion' returns
3.2.14. Since the modules are stored under /lib/modules/3.2.0-23-generic,
the value in kernel.release is the correct one to use.
Also:
- Evaluate KVER only once
- All depmod commands must include KVER
Signed-off-by: Steven J. Magnani <steve@digidescorp.com >
[bvanassche: Split long lines / removed trailing whitespace]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5286 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-14 15:52:10 +00:00
Bart Van Assche
e07a91e8a0
Makefiles: remove redundant 'depmod' invocations
...
Running 'make modules_install' already triggers invocation of depmod,
hence leave it out from those Makefiles that use 'make modules_install'.
Signed-off-by: Steven J. Magnani <steve@digidescorp.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5283 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-14 13:05:55 +00:00
Bart Van Assche
adb3c46798
fcst: Increase ft_scst_template.sg_tablesize
...
The libfc implementation can handle long SG lists, hence increase
ft_scst_template.sg_tablesize from 128 to 65535.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5223 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-24 10:32:43 +00:00
Bart Van Assche
a57c9d0cee
fcst: Fix a potential deadlock
...
This patch fixes the following lockdep warning:
======================================================
[ INFO: possible circular locking dependency detected ]
3.13.0-rc6-debug+ #5 Tainted: G W O
-------------------------------------------------------
rmmod/8653 is trying to acquire lock:
(scst_tgt_kref){+.+.+.}, at: [<ffffffffa033de6f>] scst_tgt_sysfs_put+0x10f/0x190 [scst]
but task is already holding lock:
(ft_lport_lock){+.+.+.}, at: [<ffffffffa029d3db>] ft_lport_del+0x1b/0x40 [fcst]
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #1 (ft_lport_lock){+.+.+.}:
[<ffffffff8109b4b4>] lock_acquire+0xa4/0x1e0
[<ffffffff81559837>] mutex_lock_nested+0x77/0x430
[<ffffffffa029d5a0>] ft_tgt_enable+0x20/0xd0 [fcst]
[<ffffffffa0335c99>] scst_process_tgt_enable_store+0xe9/0x230 [scst]
[<ffffffffa0335dfc>] scst_tgt_enable_store_work_fn+0x1c/0x20 [scst]
[<ffffffffa0338ebc>] scst_process_sysfs_works+0xfc/0x1f0 [scst]
[<ffffffffa033d180>] sysfs_work_thread_fn+0x120/0x2b0 [scst]
[<ffffffff81074850>] kthread+0xf0/0x110
[<ffffffff815663fc>] ret_from_fork+0x7c/0xb0
-> #0 (scst_tgt_kref){+.+.+.}:
[<ffffffff8109a95b>] __lock_acquire+0x17ab/0x1b10
[<ffffffff8109b4b4>] lock_acquire+0xa4/0x1e0
[<ffffffffa03375b9>] scst_kobject_put_and_wait+0x99/0x260 [scst]
[<ffffffffa033de6f>] scst_tgt_sysfs_put+0x10f/0x190 [scst]
[<ffffffffa03053dc>] scst_unregister_target+0x15c/0x3c0 [scst]
[<ffffffffa029c69c>] ft_tport_delete+0x2c/0xa0 [fcst]
[<ffffffffa029d3ec>] ft_lport_del+0x2c/0x40 [fcst]
[<ffffffffa023e249>] fc_lport_iterate+0x49/0x80 [libfc]
[<ffffffffa029d804>] ft_module_exit+0x36/0x832 [fcst]
[<ffffffff810cd3f2>] SyS_delete_module+0x152/0x1f0
[<ffffffff815664a9>] system_call_fastpath+0x16/0x1b
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock(ft_lport_lock);
lock(scst_tgt_kref);
lock(ft_lport_lock);
lock(scst_tgt_kref);
*** DEADLOCK ***
2 locks held by rmmod/8653:
#0 : (fc_prov_mutex){+.+.+.}, at: [<ffffffffa023e222>] fc_lport_iterate+0x22/0x80 [libfc]
#1 : (ft_lport_lock){+.+.+.}, at: [<ffffffffa029d3db>] ft_lport_del+0x1b/0x40 [fcst]
stack backtrace:
CPU: 0 PID: 8653 Comm: rmmod Tainted: G W O 3.13.0-rc6-debug+ #5
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
ffffffff8222ce70 ffff88002efdbb70 ffffffff8155551c ffffffff8222ce70
ffff88002efdbbb0 ffffffff81552248 ffff88002efdbc00 ffff88002ed0ed88
ffff88002ed0e6d0 0000000000000002 0000000000000002 ffff88002ed0ed88
Call Trace:
[<ffffffff8155551c>] dump_stack+0x4e/0x7a
[<ffffffff81552248>] print_circular_bug+0x200/0x20f
[<ffffffff8109a95b>] __lock_acquire+0x17ab/0x1b10
[<ffffffff8109b4b4>] lock_acquire+0xa4/0x1e0
[<ffffffffa03375b9>] scst_kobject_put_and_wait+0x99/0x260 [scst]
[<ffffffffa033de6f>] scst_tgt_sysfs_put+0x10f/0x190 [scst]
[<ffffffffa03053dc>] scst_unregister_target+0x15c/0x3c0 [scst]
[<ffffffffa029c69c>] ft_tport_delete+0x2c/0xa0 [fcst]
[<ffffffffa029d3ec>] ft_lport_del+0x2c/0x40 [fcst]
[<ffffffffa023e249>] fc_lport_iterate+0x49/0x80 [libfc]
[<ffffffffa029d804>] ft_module_exit+0x36/0x832 [fcst]
[<ffffffff810cd3f2>] SyS_delete_module+0x152/0x1f0
[<ffffffff815664a9>] system_call_fastpath+0x16/0x1b
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5196 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-16 15:23:45 +00:00
Bart Van Assche
6d7fb6343d
fcst: Avoid that "rmmod fcst" hangs
...
Make sure that SCST sessions get unregistered when scst_unregister_target()
is invoked. This change is necessary because of r5083 ("Disable automatic
sessions unregistration").
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5195 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-16 15:22:00 +00:00
Bart Van Assche
9690e0f1c3
fcst: SLES 11 SP3 build fix
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5188 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-10 07:50:10 +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
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
Bart Van Assche
c71c844c21
fcst: Eliminate ft_cmd.serial
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4964 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:40:00 +00:00
Bart Van Assche
07569ed62d
fcst: Micro-optimize ft_cmd_free()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4963 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:39:37 +00:00
Bart Van Assche
2381497291
fcst: Suppress a lockdep complaint
...
===============================
[ INFO: suspicious RCU usage. ]
3.10.0-rc1-debug+ #1 Tainted: G O
-------------------------------
fcst/ft_sess.c:194 suspicious rcu_dereference_protected() usage!
other info that might help us debug this:
rcu_scheduler_active = 1, debug_locks = 0
1 lock held by fcoethread/2/7942:
#0 : (rcu_read_lock){.+.+..}, at: [<ffffffffa035ee30>] rcu_lock_acquire.constprop.14+0x0/0x30 [fcst]
stack backtrace:
CPU: 2 PID: 7942 Comm: fcoethread/2 Tainted: G O 3.10.0-rc1-debug+ #1
Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
0000000000000001 ffff88003b191c28 ffffffff81525a11 ffff88003b191c58
ffffffff810a20ad ffff880039b7d1e8 ffff88003690c400 000000000000067a
ffff880039b7cb88 ffff88003b191c80 ffffffffa035f67b ffff880039b7cb88
Call Trace:
[<ffffffff81525a11>] dump_stack+0x19/0x1b
[<ffffffff810a20ad>] lockdep_rcu_suspicious+0xfd/0x130
[<ffffffffa035f67b>] ft_sess_get.isra.7+0x12b/0x150 [fcst]
[<ffffffffa035f6e2>] ft_recv+0x42/0x100 [fcst]
[<ffffffffa026edb2>] fc_lport_recv_req+0x272/0x2f0 [libfc]
[<ffffffffa0268c3b>] fc_exch_recv+0x61b/0xdc0 [libfc]
[<ffffffffa025f306>] fcoe_percpu_receive_thread+0x386/0x5f0 [fcoe]
[<ffffffff8106d34b>] kthread+0xdb/0xe0
[<ffffffff815357ac>] ret_from_fork+0x7c/0xb0
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4962 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:39:14 +00:00
Bart Van Assche
e506bd990d
fcst: Fix a race condition
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4961 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:37:45 +00:00
Bart Van Assche
e41c3bf328
fcst: Fix a lockdep warning
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4960 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:37:23 +00:00
Bart Van Assche
cf8d18cba8
fcst: Remove ft_prlo() function header and a comment
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4959 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:37:00 +00:00
Bart Van Assche
049aab6dce
fcst: Update a debug statement in ft_prli()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4958 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:36:32 +00:00
Bart Van Assche
62059912bf
fcst: Remove two comments from ft_prli_locked()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4957 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:36:08 +00:00
Bart Van Assche
50c4c8ded9
fcst: Remove superfluous initialization from ft_sess_get()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4956 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:35:45 +00:00
Bart Van Assche
5fd500a4e9
fcst: Include version number in module description
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4955 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:35:09 +00:00
Bart Van Assche
812c33d403
fcst: Update ft_send_resp_code() function header
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4954 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:34:43 +00:00
Bart Van Assche
54b4717ffa
fcst: Inline ft_send_xfer_rdy_off()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4953 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:34:19 +00:00
Bart Van Assche
c555196073
fcst: Update ft_send_response() comment header
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4952 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:33:51 +00:00
Bart Van Assche
c2cbc9fec7
fcst: Move a member variable in struct ft_sess
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4951 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:33:18 +00:00
Bart Van Assche
a578373d4e
fcst: Add more debugging code in ft_sess_put()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4950 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-13 18:32:41 +00:00
Bart Van Assche
08afc26627
fcst: Do not define kref_get_unless_zero() if backported through stable tree
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4934 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-03 18:06:32 +00:00
Bart Van Assche
1b94eecde7
fcst: Revert r4889 because it was wrong
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4931 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-03 15:14:19 +00:00
Bart Van Assche
067a3231f9
fcst: Fix a checkpatch complaint about whitespace
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4893 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-06-04 11:46:22 +00:00
Bart Van Assche
fda521f287
fcst: Follow-up for r4873
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4889 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-06-04 09:41:58 +00:00
Bart Van Assche
095813cc56
fcst: RHEL 6 build fix
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4886 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-06-03 15:41:09 +00:00
Bart Van Assche
b0133418e3
fcst: Fix a bug in a pre-2.6.36 error path. This was spotted by both sparse and smatch.
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4873 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-21 18:18:37 +00:00
Bart Van Assche
88762d3574
fcst: Fix WRITE SAME handling
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4872 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-20 18:35:24 +00:00
Bart Van Assche
33c0e52b93
fcst: Fix two sparse warnings
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4870 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-20 06:39:24 +00:00
Bart Van Assche
8c3fc40784
fcst: Fix build on pre-2.6.36 kernels
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4869 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-20 06:37:55 +00:00
Bart Van Assche
2c01ef207f
fcst: Avoid invoking ft_cmd_done(NULL)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4867 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-19 18:10:20 +00:00
Bart Van Assche
aec51e803c
fcst: Kernel 3.9 build fix
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4866 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-19 16:58:52 +00:00
Bart Van Assche
1ed1f3fda7
fcst: Eliminate ft_sess_lookup_delete()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4865 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-19 16:57:57 +00:00
Bart Van Assche
c4b720647c
fcst: Move the ft_prov data structure
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4864 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-19 16:56:42 +00:00
Bart Van Assche
06141fe25d
fcst: Minimize comment diffs with upstream
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4863 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-19 16:54:34 +00:00
Bart Van Assche
f5fd68200e
fcst: Introduce function ft_sess_hash()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4862 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-05-19 16:53:24 +00:00