The function htonl() checks whether its argument is a constant
and is evaluated by the compiler if its argument is a constant.
This means that __constant_htonl() can be changed into htonl()
without any performance impact.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6509 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Avoid that removing an acg with which a large number of sessions
has been associated triggers a stack overflow due to the following
recursive call chain:
scst_put_acg() -> scst_release_acg() -> scst_free_acg() -> scst_free_acn()
-> scst_check_reassign_sessions() -> scst_check_reassign_sess()
-> scst_put_acg().
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6500 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Additionally, fix the logic for determining %{krpmver} if %{kdir} points
to another kernel version than the latest kernel version.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6496 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Additionally, make the fourth component of the version number configurable.
An example: make RPM REVISION=r733
Reported-by: Consus <consus@gmx.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6491 d57e44dd-8a1f-0410-8b47-8ef2f437770f
I hit couple of issues in scst.spec.in:
1. krpmver sets to oldest available kernel rpm version (RedHat/Fedora
typically keeps 3 kernels), that causes rpm dependency on a wrong
kernel version
2. if system has a newer kernel version installed but not booted into
it yet, build goes against currently running kernel version,
disrespecting what KVER is set to.
Signed-off-by: Vitaly Mayatskih <v.mayatskih@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6490 d57e44dd-8a1f-0410-8b47-8ef2f437770f
On scst teardown we call rdma_disconnect() on all connections.
this moves the qps to error state and flushes all the wc, including
the drain wc which will results in kref_put of the connection.
In a race condition with the connection request, we might be only in
the init stage of the ref, and calling kref_put will result in refcount
0 and freeing the connection while establishing it.
Call the first kref_get before rdma_accept() to prevent this race.
Signed-off-by: Ariel Nahum <arieln@mellanox.com>
Signed-off-by: Yan Burman <yanb@mellanox.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6486 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Avoid that sparse complains about casts that remove the address space
of an expression. This patch does not change any functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6484 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Better to see in the logs in (S)IRQs wrong thread ID, than no thread ID under IRQ locks
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6479 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The second TM request can come while the old one, response for which is
going to be delayed, is still being processed, hence no response
prepared yet, so the delayed response should be dropped on the stage of
the new response preparing. Otherwise in this place the old delayed
response will trigger BUG_ON().
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6456 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Avoid that the following error message is printed when stopping
or starting SCST if iscsi-scstd has not been installed:
# /sbin/service scst restart
which: no iscsi-scstd in
(/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin)
Restarting SCST
Signed-off-by: Hiroyuki Sato <hiroysato@gmail.com>
[bvanassche: Eliminated ISCSI_DAEMON variable]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6436 d57e44dd-8a1f-0410-8b47-8ef2f437770f