Merge branch 'svn-trunk'

This commit is contained in:
Bart Van Assche
2019-12-23 12:30:25 -08:00
12 changed files with 75 additions and 55 deletions
+8 -3
View File
@@ -3464,10 +3464,15 @@ static int iscsi_tcp_send_locally(struct iscsi_cmnd *req,
static void iscsi_tcp_conn_close(struct iscsi_conn *conn, int flags)
{
if (!flags)
conn->sock->sk->sk_prot->disconnect(conn->sock->sk, 0);
else
struct sock *sk = conn->sock->sk;
if (!flags) {
lock_sock(sk);
sk->sk_prot->disconnect(sk, 0);
release_sock(sk);
} else {
conn->sock->ops->shutdown(conn->sock, flags);
}
}
static int iscsi_xmit_response(struct scst_cmd *scst_cmd)
+5 -5
View File
@@ -2265,11 +2265,11 @@ ql_dbg(uint32_t level, scsi_qla_host_t *vha, int32_t id, const char *fmt, ...)
if (vha != NULL) {
const struct pci_dev *pdev = vha->hw->pdev;
/* <module-name> <pci-name> <msg-id>:<host> Message */
pr_warning("%s [%s]-%04x:%ld: ",
pr_warn("%s [%s]-%04x:%ld: ",
QL_MSGHDR, dev_name(&(pdev->dev)), id + ql_dbg_offset,
vha->host_no);
} else {
pr_warning("%s [%s]-%04x: ",
pr_warn("%s [%s]-%04x: ",
QL_MSGHDR, "0000:00:00.0", id + ql_dbg_offset);
}
@@ -2306,7 +2306,7 @@ ql_dbg_pci(uint32_t level, struct pci_dev *pdev, int32_t id,
va_start(va, fmt);
/* <module-name> <dev-name>:<msg-id> Message */
pr_warning("%s [%s]-%04x: ",
pr_warn("%s [%s]-%04x: ",
QL_MSGHDR, dev_name(&(pdev->dev)), id + ql_dbg_offset);
vprintk(fmt, va);
@@ -2356,7 +2356,7 @@ ql_log(uint32_t level, scsi_qla_host_t *vha, int32_t id, const char *fmt, ...)
pr_err("%s", pbuf);
break;
case ql_log_info:
pr_warning("%s", pbuf);
pr_warn("%s", pbuf);
break;
default:
pr_info("%s", pbuf);
@@ -2406,7 +2406,7 @@ ql_log_pci(uint32_t level, struct pci_dev *pdev, int32_t id,
pr_err("%s", pbuf);
break;
case ql_log_info:
pr_warning("%s", pbuf);
pr_warn("%s", pbuf);
break;
default:
pr_info("%s", pbuf);
+1 -1
View File
@@ -1796,7 +1796,7 @@ typedef struct fc_port {
#define FCS_DEVICE_LOST 3
#define FCS_ONLINE 4
static const char *port_state_str[] = {
static const char *const port_state_str[] = {
"Unknown",
"UNCONFIGURED",
"DEAD",
+2
View File
@@ -3,6 +3,8 @@
ignore=(
CONSTANT_COMPARISON
LINUX_VERSION_CODE
LONG_LINE
LONG_LINE_COMMENT
LONG_LINE_STRING
RETURN_VOID
SPDX_LICENSE_TAG
-1
View File
@@ -114,7 +114,6 @@ function specialize_patch {
"$(dirname "$0")/specialize-patch" \
"${specialize_patch_options[@]}" \
-v kernel_version="${kver3}" \
-v SCSI_EXEC_REQ_FIFO_DEFINED="${scsi_exec_req_fifo_defined}" \
-v SCST_IO_CONTEXT="${scst_io_context}"
else
cat
+3 -22
View File
@@ -226,14 +226,6 @@ function evaluate(stmnt, pattern, arg, op, result) {
gsub("defined\\(UEK_KABI_RENAME\\)", "0", stmnt)
if (SCSI_EXEC_REQ_FIFO_DEFINED != "")
{
gsub("defined[[:blank:]]+SCSI_EXEC_REQ_FIFO_DEFINED",
SCSI_EXEC_REQ_FIFO_DEFINED, stmnt)
gsub("defined[[:blank:]]*\\([[:blank:]]*SCSI_EXEC_REQ_FIFO_DEFINED[[:blank:]]*\\)",
SCSI_EXEC_REQ_FIFO_DEFINED, stmnt)
}
if (SCST_IO_CONTEXT != "")
{
gsub("defined[[:blank:]]+SCST_IO_CONTEXT", SCST_IO_CONTEXT, stmnt)
@@ -428,7 +420,6 @@ function handle_if(evaluated)
&& $0 ~ "GENERATING_UPSTREAM_PATCH" \
|| $0 ~ "CONFIG_TCP_ZERO_COPY_TRANSFER_COMPLETION_NOTIFICATION" \
|| ($0 ~ "CONFIG_SCST_PROC" && config_scst_proc_undefined) \
|| ($0 ~ "SCSI_EXEC_REQ_FIFO_DEFINED" && SCSI_EXEC_REQ_FIFO_DEFINED!="") \
|| ($0 ~ "SCST_IO_CONTEXT" && SCST_IO_CONTEXT != ""))
{
}
@@ -523,19 +514,9 @@ function process_preprocessor_statement(evaluated, condition) {
printf "/* debug specialize-patch: (g2) %s: output = %d */\n", \
evaluated, output
}
if (evaluated ~ "^+#define SCSI_EXEC_REQ_FIFO_DEFINED$" \
&& SCSI_EXEC_REQ_FIFO_DEFINED != "" \
|| evaluated ~ "^+#define SCST_IO_CONTEXT$" \
&& SCST_IO_CONTEXT != "" \
|| (evaluated ~ "^+#define CONFIG_SCST_PROC$" \
&& config_scst_proc_undefined))
{
discard = 1
delete_next_blank_line = 1
}
else if (output && (!condition || \
decision[if_nesting_level + (evaluated ~ "^+#endif$")] \
!~ "^+#(el|)if [01]"))
if (output && (!condition || \
decision[if_nesting_level + (evaluated ~ "^+#endif$")] \
!~ "^+#(el|)if [01]"))
{
if (evaluated == "+#if undecided" \
|| (evaluated !~ "^+#if" \
+12 -1
View File
@@ -853,6 +853,17 @@ static inline void lockdep_unregister_key(struct lock_class_key *key)
}
#endif
/*
* See also commit 5facae4f3549 ("locking/lockdep: Remove unused @nested
* argument from lock_release()").
*/
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 0)
#undef rwlock_release
#define rwlock_release(l, i) lock_release(l, 1, i)
#undef mutex_release
#define mutex_release(l, i) lock_release(l, 0, i)
#endif
/* <linux/mempoool.h> */
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
/*
@@ -1148,7 +1159,7 @@ static inline bool percpu_ref_is_zero(struct percpu_ref *ref)
#define pr_alert(fmt, ...) printk(KERN_ALERT pr_fmt(fmt), ##__VA_ARGS__)
#define pr_crit(fmt, ...) printk(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__)
#define pr_err(fmt, ...) printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
#define pr_warning(fmt, ...) printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
#define pr_warn(fmt, ...) printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
#define pr_notice(fmt, ...) printk(KERN_NOTICE pr_fmt(fmt), ##__VA_ARGS__)
#endif /* pr_emerg */
+38 -5
View File
@@ -2718,7 +2718,7 @@ out_err:
goto out;
}
static int vdisk_parse(struct scst_cmd *cmd)
static int fileio_parse(struct scst_cmd *cmd)
{
int res, rc;
@@ -3312,6 +3312,14 @@ static enum compl_status_e fileio_exec_async(struct vdisk_cmd_params *p)
}
#endif
static void blockio_on_free_cmd(struct scst_cmd *cmd)
{
if (!scst_cmd_get_dh_data_buff_alloced(cmd))
return;
sgv_pool_free(cmd->sgv, &cmd->dev->dev_mem_lim);
cmd->sgv = NULL;
}
static void vdisk_on_free_cmd_params(const struct vdisk_cmd_params *p)
{
if (!p->execute_async) {
@@ -3403,6 +3411,29 @@ out:
return res;
}
static int blockio_alloc(struct scst_cmd *cmd)
{
struct scst_tgt_dev *tgt_dev = cmd->tgt_dev;
struct sgv_pool *pool = tgt_dev->pools[raw_smp_processor_id()];
int res = SCST_CMD_STATE_DEFAULT;
if (cmd->sg && (cmd->sg->offset & 511) == 0)
return res;
WARN_ON_ONCE(cmd->sgv);
cmd->sg = sgv_pool_alloc(pool, cmd->bufflen, cmd->cmd_gfp_mask, 0,
&cmd->sg_cnt, &cmd->sgv,
&cmd->dev->dev_mem_lim, NULL);
if (!cmd->sg) {
res = SCST_CMD_STATE_STOP;
goto out;
}
scst_cmd_set_dh_data_buff_alloced(cmd);
out:
return res;
}
static enum scst_exec_res blockio_exec(struct scst_cmd *cmd)
{
struct scst_vdisk_dev *virt_dev = cmd->dev->dh_priv;
@@ -9871,7 +9902,7 @@ static const struct attribute *vdisk_fileio_attrs[] = {
NULL,
};
static const char *fileio_add_dev_params[] = {
static const char *const fileio_add_dev_params[] = {
"async",
"blocksize",
"cluster_mode",
@@ -9909,7 +9940,7 @@ static struct scst_dev_type vdisk_file_devtype = {
.detach = vdisk_detach,
.attach_tgt = vdisk_attach_tgt,
.detach_tgt = vdisk_detach_tgt,
.parse = vdisk_parse,
.parse = fileio_parse,
.exec = fileio_exec,
.on_free_cmd = fileio_on_free_cmd,
.task_mgmt_fn_done = vdisk_task_mgmt_fn_done,
@@ -9962,7 +9993,7 @@ static const struct attribute *vdisk_blockio_attrs[] = {
NULL,
};
static const char *blockio_add_dev_params[] = {
static const char *const blockio_add_dev_params[] = {
"active",
"bind_alua_state",
"blocksize",
@@ -9995,7 +10026,9 @@ static struct scst_dev_type vdisk_blk_devtype = {
.attach_tgt = vdisk_attach_tgt,
.detach_tgt = vdisk_detach_tgt,
.parse = non_fileio_parse,
.dev_alloc_data_buf = blockio_alloc,
.exec = blockio_exec,
.on_free_cmd = blockio_on_free_cmd,
.on_alua_state_change_start = blockio_on_alua_state_change_start,
.on_alua_state_change_finish = blockio_on_alua_state_change_finish,
.task_mgmt_fn_done = vdisk_task_mgmt_fn_done,
@@ -10038,7 +10071,7 @@ static const struct attribute *vdisk_nullio_attrs[] = {
NULL,
};
static const char *nullio_add_dev_params[] = {
static const char *const nullio_add_dev_params[] = {
"blocksize",
"cluster_mode",
"dif_mode",
-5
View File
@@ -147,8 +147,6 @@ int hex_to_bin(char ch)
EXPORT_SYMBOL(hex_to_bin);
#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 30) || \
!defined(SCSI_EXEC_REQ_FIFO_DEFINED)
static int sg_copy(struct scatterlist *dst_sg, struct scatterlist *src_sg,
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
int nents_to_copy, size_t copy_len,
@@ -156,7 +154,6 @@ static int sg_copy(struct scatterlist *dst_sg, struct scatterlist *src_sg,
#else
int nents_to_copy, size_t copy_len);
#endif
#endif
static void scst_free_descriptors(struct scst_cmd *cmd);
static bool sg_cmp(struct scatterlist *dst_sg, struct scatterlist *src_sg,
@@ -8393,7 +8390,6 @@ out:
}
#endif
#if !defined(SCSI_EXEC_REQ_FIFO_DEFINED)
/*
* Can switch to the next dst_sg element, so, to copy to strictly only
* one dst_sg element, it must be either last in the chain, or
@@ -8545,7 +8541,6 @@ static int sg_copy(struct scatterlist *dst_sg, struct scatterlist *src_sg,
out:
return res;
}
#endif /* !defined(SCSI_EXEC_REQ_FIFO_DEFINED) */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 30)
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 13, 0) && \
+3 -6
View File
@@ -48,10 +48,8 @@ details.
#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 30) && \
!defined(SCSI_EXEC_REQ_FIFO_DEFINED) && \
!defined(CONFIG_SCST_STRICT_SERIALIZING)
#warning Patch scst_exec_req_fifo-<kernel-version> was not applied on \
your kernel and CONFIG_SCST_STRICT_SERIALIZING is not defined. \
#warning CONFIG_SCST_STRICT_SERIALIZING has not been defined. \
Pass-through dev handlers will not work.
#endif
@@ -979,7 +977,7 @@ out:
if (res == 0)
lock_acquired(&scst_suspend_dep_map, _RET_IP_);
else
rwlock_release(&scst_suspend_dep_map, 1, _RET_IP_);
rwlock_release(&scst_suspend_dep_map, _RET_IP_);
#endif
TRACE_EXIT_RES(res);
@@ -1059,7 +1057,7 @@ void scst_resume_activity(void)
TRACE_ENTRY();
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
rwlock_release(&scst_suspend_dep_map, 1, _RET_IP_);
rwlock_release(&scst_suspend_dep_map, _RET_IP_);
#endif
mutex_lock(&scst_suspend_mutex);
@@ -1538,7 +1536,6 @@ int __scst_register_dev_driver(struct scst_dev_type *dev_type,
goto out;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 30) && \
!defined(SCSI_EXEC_REQ_FIFO_DEFINED) && \
!defined(CONFIG_SCST_STRICT_SERIALIZING)
if (dev_type->exec == NULL) {
PRINT_ERROR("Pass-through dev handlers (handler \"%s\") not "
+1 -4
View File
@@ -457,12 +457,9 @@ static inline int scst_exec_req(struct scsi_device *sdev,
#if defined(CONFIG_SCST_STRICT_SERIALIZING)
return scsi_execute_async(sdev, cmd, cmd_len, data_direction, (void *)sgl,
bufflen, nents, timeout, retries, privdata, done, gfp);
#elif !defined(SCSI_EXEC_REQ_FIFO_DEFINED)
#else
WARN_ON(1);
return -1;
#else
return scsi_execute_async_fifo(sdev, cmd, cmd_len, data_direction,
(void *)sgl, bufflen, nents, timeout, retries, privdata, done, gfp);
#endif
}
#endif
+2 -2
View File
@@ -464,7 +464,7 @@ static void scst_process_sysfs_works(void)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
if (work->dep_map)
mutex_release(work->dep_map, 0, _RET_IP_);
mutex_release(work->dep_map, _RET_IP_);
#endif
spin_lock(&sysfs_work_lock);
@@ -1213,7 +1213,7 @@ void scst_kobject_put_and_wait(struct kobject *kobj, const char *category,
out_free:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
lock_acquired(dep_map, _RET_IP_);
mutex_release(dep_map, 0, _RET_IP_);
mutex_release(dep_map, _RET_IP_);
#endif
kfree(name);