Merge branch 'svn-trunk'

This commit is contained in:
Bart Van Assche
2020-06-16 18:36:04 -07:00
5 changed files with 32 additions and 21 deletions

View File

@@ -1505,11 +1505,8 @@ static void cmnd_prepare_get_rejected_immed_data(struct iscsi_cmnd *cmnd)
e = min_t(u32, s, PAGE_SIZE);
conn->read_iov[i].iov_len = e;
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
iov_iter_kvec(&conn->read_msg.msg_iter, READ, conn->read_iov, i, size);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
iov_iter_kvec(&conn->read_msg.msg_iter, READ | ITER_KVEC,
conn->read_iov, i, size);
#else
conn->read_msg.msg_iov = conn->read_iov;
conn->read_msg.msg_iovlen = i;
@@ -1659,12 +1656,9 @@ static int cmnd_prepare_recv_pdu(struct iscsi_conn *conn,
}
i++;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
iov_iter_kvec(&conn->read_msg.msg_iter, READ, conn->read_iov, i,
read_size);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
iov_iter_kvec(&conn->read_msg.msg_iter, READ | ITER_KVEC,
conn->read_iov, i, read_size);
#else
conn->read_msg.msg_iov = conn->read_iov;
conn->read_msg.msg_iovlen = i;
@@ -1855,12 +1849,9 @@ static int nop_out_start(struct iscsi_cmnd *cmnd)
sBUG_ON(size != 0);
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
iov_iter_kvec(&conn->read_msg.msg_iter, READ, conn->read_iov,
i, cmnd->pdu.datasize);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
iov_iter_kvec(&conn->read_msg.msg_iter, READ | ITER_KVEC,
conn->read_iov, i, cmnd->pdu.datasize);
#else
conn->read_msg.msg_iov = conn->read_iov;
conn->read_msg.msg_iovlen = i;

View File

@@ -463,11 +463,8 @@ static inline void iscsi_conn_init_read(struct iscsi_conn *conn,
{
conn->read_iov[0].iov_base = data;
conn->read_iov[0].iov_len = len;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
iov_iter_kvec(&conn->read_msg.msg_iter, READ, conn->read_iov, 1, len);
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
iov_iter_kvec(&conn->read_msg.msg_iter, READ | ITER_KVEC,
conn->read_iov, 1, len);
#else
conn->read_msg.msg_iov = conn->read_iov;
conn->read_msg.msg_iovlen = 1;

View File

@@ -61,7 +61,8 @@ ABT_KERNELS=" \
2.6.33.7-nc \
2.6.32.27-nc \
2.6.31.14-nc \
4.18.0-193.10.el8^CentOS^8.1.1911-nc \
4.18.0-193.6.3.el8_2^CentOS^8.2.2004-nc \
4.18.0-147.8.1.el8_1^CentOS^8.1.1911-nc \
4.18.0-80.11.2.el8_0^CentOS^8.0.1905-nc \
3.10.0-1127.el7^CentOS^7.8.2003-nc \
3.10.0-1062.18.1.el7^CentOS^7.7.1908-nc \

View File

@@ -1606,6 +1606,32 @@ typedef unsigned long uintptr_t;
char *kvasprintf(gfp_t gfp, const char *fmt, va_list ap);
#endif
/* <linux/uio.h> */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
/* See also commit abb78f875f3f ("new helper: iov_iter_kvec()") # v3.19. */
static inline void
iov_iter_kvec_backport(struct iov_iter *i, unsigned int direction,
const struct kvec *kvec, unsigned long nr_segs,
size_t count)
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) || \
(defined(RHEL_MAJOR) && \
(RHEL_MAJOR -0 > 8 || (RHEL_MAJOR -0 == 8 && RHEL_MINOR -0 >= 2)))
/*
* For iov_iter_kvec() implementations that have a WARN_ON(direction &
* ~(READ | WRITE)) statement. See also commit aa563d7bca6e ("iov_iter:
* Separate type from direction and use accessor functions") # v4.20.
*/
iov_iter_kvec(i, direction, kvec, nr_segs, count);
#else
iov_iter_kvec(i, ITER_KVEC | direction, kvec, nr_segs, count);
#endif
}
#define iov_iter_kvec iov_iter_kvec_backport
#endif
/* <linux/unaligned.h> */
#if defined(RHEL_MAJOR) && RHEL_MAJOR -0 <= 5

View File

@@ -3261,11 +3261,7 @@ static enum compl_status_e fileio_exec_async(struct vdisk_cmd_params *p)
WARN_ON_ONCE(sg_cnt != cmd->sg_cnt);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)
iov_iter_kvec(&iter, dir, p->async.kvec, sg_cnt, total);
#else
iov_iter_kvec(&iter, ITER_KVEC | dir, p->async.kvec, sg_cnt, total);
#endif
*iocb = (struct kiocb) {
.ki_pos = p->loff,
.ki_filp = fd,