Commit Graph

3090 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin
7a87bf25a6 Cleanup + implement conditional logging
This patch:
* fixes signatures for log_debug and log_pdu macros
* collapses __log_<LEVEL> functions into one
* adds conditional logging

Here conditional logging means that the logging priority and logging level may
vary depending on some dynamic parameters. This is helpful when software is
able to recover from errors which occur periodically and hence, there is no
need to pollute system logs with tons of repetitive non-critical lines.

The following macros are added to support this feature:
* log_info_cond
* log_warning_cond
* log_error_cond

They take an additional first parameter called "level". If it is 0 then they
act as their non-cond counterparts, otherwise they act like log_debug with the
specified level.

Those who are not interested in conditional logging are not affected: they can
continue using plain old logging macros without any changes.

Signed-off-by: Sergey Myasnikov <tigra564@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4161 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-12 22:31:13 +00:00
Vladislav Bolkhovitin
5c2cde6757 Cleanup: move misc routines in misc.c
This patch moves the following utility functions from iscsi_scstd.c to misc.c
and makes them public (i.e. non-static):
* set_non_blocking
* sock_set_keepalive

Signed-off-by: Sergey Myasnikov <tigra564@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4160 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-12 21:52:35 +00:00
Bart Van Assche
39b6c43d45 scst: Fix value of FMTDATA bitmask
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4159 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-08 08:24:12 +00:00
Vladislav Bolkhovitin
cc07f3904e The FORMAT UNIT has an optional data-out buffer with unspecified length.
Make sure that SCST parses this command correctly.

Reported-by: Leonid Podolny <leonid.podolny@xtremio.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4158 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-07 19:52:50 +00:00
Vladislav Bolkhovitin
a095641495 Make LUN removal work again. This is a fix for r4137.
Reported-by: Riccardo <r.bicelli@gmail.com>

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




git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4157 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-07 19:51:15 +00:00
Vladislav Bolkhovitin
7d1ba6a2b0 VERIFY(6) is a tape command. T10 has never defined a VERIFY(6) command
for disk or CD-ROM devices, so make sure scst_vdisk rejects it.

+

added the corresponding cleanups in scst_lib.c and fileio/common.c + updated scst_scsi_op_table

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4156 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-07 19:50:10 +00:00
Vladislav Bolkhovitin
91a790b57d Eliminate three data members from struct vdisk_cmd_params.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4155 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-07 19:34:27 +00:00
Vladislav Bolkhovitin
c83af071b6 Looks like current kernels are more fair, so we can try to increase SCST_MAX_TGT_DEV_COMMANDS to please QD hungry initiators
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4154 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-05 21:21:22 +00:00
Bart Van Assche
87dd12ac73 scstadmin: Suggest the user to use systemctl (systemd) instead of the LSB installation script if available
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4153 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-04 14:17:53 +00:00
Bart Van Assche
3da8048c71 scstadmin: Only enable /etc/init.d/scst in runlevels 3 and 5 since networking is not available in runlevels 2 or 4
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4152 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-04 14:16:51 +00:00
Bart Van Assche
02b431ec24 scstadmin: Revert r4023 since bug https://bugzilla.novell.com/show_bug.cgi?id=738281 has been fixed
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4151 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-04 14:13:52 +00:00
Bart Van Assche
b07403a23d ib_srpt: Remove an obsolete patch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4150 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-04 13:16:27 +00:00
Vladislav Bolkhovitin
e83c2ebe66 Gentoo HOWTO written by Jurie Botha <jurieb@taprojects.co.za>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4149 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-02 02:58:57 +00:00
Vladislav Bolkhovitin
6f228ecb71 Correct misleading SCST_CMD_ABORTED description.
Noticed by Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4148 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-27 22:59:10 +00:00
Bart Van Assche
30615c003c ib_srpt: Clarify a comment
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4147 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-25 08:59:13 +00:00
Bart Van Assche
2553057f73 ib_srpt: Disallow new logins during module removal
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4146 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-25 08:58:50 +00:00
Bart Van Assche
2d12dae7b4 ib_srpt: Whitespace-only change
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4145 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-24 07:21:24 +00:00
Bart Van Assche
c4d91e67d9 ib_srpt: Follow-up for r4143
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4144 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-24 07:20:52 +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
Bart Van Assche
5160ddb148 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4142 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-19 08:32:26 +00:00
Bart Van Assche
440e1a405e ib_srpt: Document LUN masking
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4141 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-18 13:32:45 +00:00
Bart Van Assche
6e55334a9f ib_srpt: Fix QP use-after-free triggered by SRP logout.
Fixed this by destroying cm_id before QP instead of after. The following
messages were logged if the use-after-free occurred:

mlx4_core 0000:08:00.0: command 0x19 failed: fw status = 0x9
ib_srpt: ***ERROR***: srpt_init_ch_qp() failed (-9)
ib_srpt: ***ERROR***: rejected SRP_LOGIN_REQ because creating a new RDMA channel failed.
ib_srpt: Rejecting login with reason 0x10001


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4139 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-18 10:24:25 +00:00
Bart Van Assche
1a6c43b1bc ib_srpt: Revert r4123
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4138 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-18 07:03:41 +00:00
Vladislav Bolkhovitin
f2387d7956 Convert strict_strtoul() and simple_strtoul() into kstrtoul() or sscanf()
Recent versions of the checkpatch script complain about strict_strtoul()
and simple_strtoul(), so convert calls to these functions into a call to
kstrtoul() or sscanf(). Convert loops that scan for the
next-(non-)whitespace character into a call to scst_get_next_lexem().
Make __scst_process_luns_mgmt_store() a little more strict by checking
for extraneous parameters past the last argument. Fix the value "res"
returned for the SCST_TRACE_ACTION_VALUE processing code.

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4137 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-18 03:01:43 +00:00
Vladislav Bolkhovitin
9367254fba Patch from Vladimir Shveidel <vladimir.shveidel@xtremio.com> removing excessive msleep() in term exchange path
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4136 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-17 21:50:34 +00:00
Vladislav Bolkhovitin
2d31b116b1 Eliminate double req_q_cnt checks for cases when there is enough head room.
Signed-off-by: Chetan Loke <loke.chetan@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4135 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-17 02:14:28 +00:00
Vladislav Bolkhovitin
ab25cb45dc Micro-optimize scst_calc_block_shift()
Replace a loop by a single instruction, namely bsr (bit scan reverse).
From the disassembler output of scst_calc_block_shift() on an x86_64
system:

   0x0000000000001493 <+35>:    bsr    %edx,%ecx

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4134 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-17 01:43:21 +00:00
Vladislav Bolkhovitin
659e6ea6e8 Install man pages as well. Noticed by Bart Van Assche <bvanassche@acm.org>.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4133 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-17 01:38:16 +00:00
Bart Van Assche
5eb3a85948 scst/src/scst_lib.c: Remove a trailing whitespace
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4132 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-16 10:27:18 +00:00
Vladislav Bolkhovitin
293c2f3abd Slightly modified patch from Bart Van Assche <bvanassche@acm.org> cleaning VERIFY commands processing
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4131 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-15 22:32:05 +00:00
Bart Van Assche
448a7bdd29 scstadmin: Replace scstadmin/scstadmin by a soft link if it is a regular file. This is a workaround for a bug in the "Download tarball" functionality of the SourceForge website
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4129 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-15 10:02:06 +00:00
Bart Van Assche
dfaf6388f2 ib_srpt: Display the qpn when QP initialization fails
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4128 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-14 19:48:07 +00:00
Vladislav Bolkhovitin
c9b149c5ce Let's stay on the safe side away from gcc bugs and separate ints and bitfields with another access rules
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4127 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-13 22:35:52 +00:00
Bart Van Assche
fab05915ad ib_srpt: Reset a QP before transitioning it to the INIT state. That
should avoid that an error message like the following is generated if
driver and HCA QP state get out of sync:

mlx4_core 0000:03:00.0: command 0x19 failed: fw status = 0x9


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4123 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-13 17:06:50 +00:00
Bart Van Assche
a5a4d5ca6c ib_srpt: Increase RDMA_COMPL_TIMEOUT_S in order to avoid that the IB completion timeout fires too early on flaky motherboards
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4122 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-11 10:29:22 +00:00
Bart Van Assche
13e3b5265c Remove scripts/generate-kernel-with-srp-patches since all code in it is now upstream
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4121 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-11 10:25:55 +00:00
Bart Van Assche
f2c201ee09 Add scripts/generate-scst-patch, which is based on a script posted on scst-devel by Chetan Loke
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4120 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-11 10:23:59 +00:00
Vladislav Bolkhovitin
37cbdb03df Minor docs update based on experience of Rommer <rommer@active.by>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4119 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-11 03:01:00 +00:00
Vladislav Bolkhovitin
6a34f10d81 Cleanup suggested by Bart Van Assche <bvanassche@acm.org>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4118 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-10 02:12:15 +00:00
Bart Van Assche
47134aad53 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4117 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-09 11:53:31 +00:00
Vladislav Bolkhovitin
3f6ecca6ff Docs clarification
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4116 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-08 19:08:53 +00:00
Bart Van Assche
25ccc656d9 rebuild-rhel-kernel-rpm: Pass %_topdir to all rpm commands, just to be sure.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4115 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-05 20:28:38 +00:00
Bart Van Assche
3f2b4e531c scripts/rebuild-rhel-kernel-rpm: Update CentOS SRPM URLs and use rpmbuild --define instead of modifying $HOME/.rpmmacros.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4114 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-05 19:30:37 +00:00
Bart Van Assche
8d8d45f0bf nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4113 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-05 10:54:30 +00:00
Bart Van Assche
f944799e42 iscsi-scst: Port to RHEL 5.7
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4112 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-04 16:41:21 +00:00
Bart Van Assche
c31ac7c591 scst: Port to RHEL 5.7
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4111 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-04 16:40:33 +00:00
Bart Van Assche
85b89521f8 iscsi-scstd: Make really sure that the buffer allocated for nl_read() is large enough
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4110 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-04 16:39:26 +00:00
Bart Van Assche
fdeea7c916 iscsi-scstd: Follow-up for r4077 - avoid that reading from the netlink socket can cause data corruption
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4109 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-04 12:39:26 +00:00
Bart Van Assche
62dd759208 fcst: Transform r4107 into something that makes sense
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4108 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-03 09:13:00 +00:00
Bart Van Assche
1d17e6386c fcst: Follow-up for r4106 - make fcst build again on kernel 3.0 and before
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4107 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-02-02 19:24:05 +00:00