diff options
| -rw-r--r-- | meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch | 96 |
1 files changed, 23 insertions, 73 deletions
diff --git a/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch b/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch index e55c407a41..e508a5e6cd 100644 --- a/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch +++ b/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch | |||
| @@ -90,25 +90,9 @@ Upstream-Status: Pending | |||
| 90 | Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> | 90 | Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> |
| 91 | 91 | ||
| 92 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c iscsitarget-1.4.20.3+svn502/kernel/block-io.c | 92 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c iscsitarget-1.4.20.3+svn502/kernel/block-io.c |
| 93 | --- iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c 2016-09-25 19:45:01.814641016 +0530 | 93 | --- iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c 2017-01-19 20:19:27.400507354 -0800 |
| 94 | +++ iscsitarget-1.4.20.3+svn502/kernel/block-io.c 2016-09-25 19:47:59.666474094 +0530 | 94 | +++ iscsitarget-1.4.20.3+svn502/kernel/block-io.c 2017-01-19 20:32:22.977988593 -0800 |
| 95 | @@ -57,7 +57,6 @@ static int | 95 | @@ -104,7 +104,11 @@ blockio_make_request(struct iet_volume * |
| 96 | blockio_make_request(struct iet_volume *volume, struct tio *tio, int rw) | ||
| 97 | { | ||
| 98 | struct blockio_data *bio_data = volume->private; | ||
| 99 | - struct request_queue *bdev_q = bdev_get_queue(bio_data->bdev); | ||
| 100 | struct tio_work *tio_work; | ||
| 101 | struct bio *tio_bio = NULL, *bio = NULL, *biotail = NULL; | ||
| 102 | struct blk_plug plug; | ||
| 103 | @@ -69,6 +68,7 @@ blockio_make_request(struct iet_volume * | ||
| 104 | int err = 0; | ||
| 105 | loff_t ppos = tio->offset; | ||
| 106 | #else | ||
| 107 | + struct request_queue *bdev_q = bdev_get_queue(bio_data->bdev); | ||
| 108 | int max_pages = 1; | ||
| 109 | int err = 0; | ||
| 110 | |||
| 111 | @@ -102,7 +102,11 @@ blockio_make_request(struct iet_volume * | ||
| 112 | /* bi_sector is ALWAYS in units of 512 bytes */ | 96 | /* bi_sector is ALWAYS in units of 512 bytes */ |
| 113 | bio->bi_iter.bi_sector = ppos >> 9; | 97 | bio->bi_iter.bi_sector = ppos >> 9; |
| 114 | bio->bi_bdev = bio_data->bdev; | 98 | bio->bi_bdev = bio_data->bdev; |
| @@ -120,7 +104,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c iscsitarget-1.4.20 | |||
| 120 | bio->bi_private = tio_work; | 104 | bio->bi_private = tio_work; |
| 121 | 105 | ||
| 122 | if (tio_bio) | 106 | if (tio_bio) |
| 123 | @@ -137,7 +141,12 @@ blockio_make_request(struct iet_volume * | 107 | @@ -139,7 +143,12 @@ blockio_make_request(struct iet_volume * |
| 124 | tio_bio = tio_bio->bi_next; | 108 | tio_bio = tio_bio->bi_next; |
| 125 | bio->bi_next = NULL; | 109 | bio->bi_next = NULL; |
| 126 | 110 | ||
| @@ -134,36 +118,14 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c iscsitarget-1.4.20 | |||
| 134 | 118 | ||
| 135 | blk_finish_plug(&plug); | 119 | blk_finish_plug(&plug); |
| 136 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/conn.c iscsitarget-1.4.20.3+svn502/kernel/conn.c | 120 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/conn.c iscsitarget-1.4.20.3+svn502/kernel/conn.c |
| 137 | --- iscsitarget-1.4.20.3+svn502_org/kernel/conn.c 2016-09-25 19:45:01.774641057 +0530 | 121 | --- iscsitarget-1.4.20.3+svn502_org/kernel/conn.c 2017-01-19 20:19:27.400507354 -0800 |
| 138 | +++ iscsitarget-1.4.20.3+svn502/kernel/conn.c 2016-09-25 19:47:59.666474094 +0530 | 122 | +++ iscsitarget-1.4.20.3+svn502/kernel/conn.c 2017-01-19 20:32:22.978988614 -0800 |
| 139 | @@ -89,13 +89,21 @@ static void iet_state_change(struct sock | 123 | @@ -148,8 +148,14 @@ static void iet_socket_bind(struct iscsi |
| 140 | target->nthread_info.old_state_change(sk); | ||
| 141 | } | ||
| 142 | |||
| 143 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) | ||
| 144 | +static void iet_data_ready(struct sock *sk) | ||
| 145 | +#else | ||
| 146 | static void iet_data_ready(struct sock *sk, int len) | ||
| 147 | +#endif | ||
| 148 | { | ||
| 149 | struct iscsi_conn *conn = sk->sk_user_data; | ||
| 150 | struct iscsi_target *target = conn->session->target; | ||
| 151 | |||
| 152 | nthread_wakeup(target); | ||
| 153 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) | ||
| 154 | + target->nthread_info.old_data_ready(sk); | ||
| 155 | +#else | ||
| 156 | target->nthread_info.old_data_ready(sk, len); | ||
| 157 | +#endif | ||
| 158 | } | ||
| 159 | |||
| 160 | /* | ||
| 161 | @@ -140,8 +148,14 @@ static void iet_socket_bind(struct iscsi | ||
| 162 | target->nthread_info.old_state_change = conn->sock->sk->sk_state_change; | 124 | target->nthread_info.old_state_change = conn->sock->sk->sk_state_change; |
| 163 | conn->sock->sk->sk_state_change = iet_state_change; | 125 | conn->sock->sk->sk_state_change = iet_state_change; |
| 164 | 126 | ||
| 165 | +#if 0//LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) | 127 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) |
| 166 | + target->nthread_info.old_data_ready = (void (*) (struct sock *, int )) \ | 128 | + target->nthread_info.old_data_ready = (void (*) (struct sock *)) \ |
| 167 | + conn->sock->sk->sk_data_ready; | 129 | + conn->sock->sk->sk_data_ready; |
| 168 | + conn->sock->sk->sk_data_ready = (void (*) (struct sock *)) iet_data_ready; | 130 | + conn->sock->sk->sk_data_ready = (void (*) (struct sock *)) iet_data_ready; |
| 169 | +#else | 131 | +#else |
| @@ -174,8 +136,8 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/conn.c iscsitarget-1.4.20.3+s | |||
| 174 | target->nthread_info.old_write_space = conn->sock->sk->sk_write_space; | 136 | target->nthread_info.old_write_space = conn->sock->sk->sk_write_space; |
| 175 | conn->sock->sk->sk_write_space = iet_write_space; | 137 | conn->sock->sk->sk_write_space = iet_write_space; |
| 176 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/digest.c iscsitarget-1.4.20.3+svn502/kernel/digest.c | 138 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/digest.c iscsitarget-1.4.20.3+svn502/kernel/digest.c |
| 177 | --- iscsitarget-1.4.20.3+svn502_org/kernel/digest.c 2014-05-07 02:29:55.000000000 +0530 | 139 | --- iscsitarget-1.4.20.3+svn502_org/kernel/digest.c 2014-05-06 13:59:55.000000000 -0700 |
| 178 | +++ iscsitarget-1.4.20.3+svn502/kernel/digest.c 2016-09-25 19:47:59.666474094 +0530 | 140 | +++ iscsitarget-1.4.20.3+svn502/kernel/digest.c 2017-01-19 20:32:22.978988614 -0800 |
| 179 | @@ -30,6 +30,9 @@ void digest_alg_available(unsigned int * | 141 | @@ -30,6 +30,9 @@ void digest_alg_available(unsigned int * |
| 180 | int digest_init(struct iscsi_conn *conn) | 142 | int digest_init(struct iscsi_conn *conn) |
| 181 | { | 143 | { |
| @@ -374,8 +336,8 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/digest.c iscsitarget-1.4.20.3 | |||
| 374 | +#endif | 336 | +#endif |
| 375 | } | 337 | } |
| 376 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+svn502/kernel/iscsi.h | 338 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+svn502/kernel/iscsi.h |
| 377 | --- iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h 2016-09-25 19:45:01.734641099 +0530 | 339 | --- iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h 2017-01-19 20:19:27.400507354 -0800 |
| 378 | +++ iscsitarget-1.4.20.3+svn502/kernel/iscsi.h 2016-09-25 19:47:59.666474094 +0530 | 340 | +++ iscsitarget-1.4.20.3+svn502/kernel/iscsi.h 2017-01-19 20:32:22.979988634 -0800 |
| 379 | @@ -14,6 +14,7 @@ | 341 | @@ -14,6 +14,7 @@ |
| 380 | #include <linux/pagemap.h> | 342 | #include <linux/pagemap.h> |
| 381 | #include <linux/seq_file.h> | 343 | #include <linux/seq_file.h> |
| @@ -384,19 +346,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+ | |||
| 384 | #include <linux/crypto.h> | 346 | #include <linux/crypto.h> |
| 385 | #include <linux/scatterlist.h> | 347 | #include <linux/scatterlist.h> |
| 386 | #include <net/sock.h> | 348 | #include <net/sock.h> |
| 387 | @@ -81,7 +82,11 @@ struct network_thread_info { | 349 | @@ -275,8 +276,13 @@ struct iscsi_conn { |
| 388 | spinlock_t nthread_lock; | ||
| 389 | |||
| 390 | void (*old_state_change)(struct sock *); | ||
| 391 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0) | ||
| 392 | + void (*old_data_ready)(struct sock *); | ||
| 393 | +#else | ||
| 394 | void (*old_data_ready)(struct sock *, int); | ||
| 395 | +#endif | ||
| 396 | void (*old_write_space)(struct sock *); | ||
| 397 | }; | ||
| 398 | |||
| 399 | @@ -275,8 +280,13 @@ struct iscsi_conn { | ||
| 400 | u32 write_offset; | 350 | u32 write_offset; |
| 401 | int write_state; | 351 | int write_state; |
| 402 | 352 | ||
| @@ -410,7 +360,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+ | |||
| 410 | struct scatterlist hash_sg[ISCSI_CONN_IOV_MAX]; | 360 | struct scatterlist hash_sg[ISCSI_CONN_IOV_MAX]; |
| 411 | }; | 361 | }; |
| 412 | 362 | ||
| 413 | @@ -552,4 +562,10 @@ enum cmnd_flags { | 363 | @@ -552,4 +558,10 @@ enum cmnd_flags { |
| 414 | #define PRODUCT_ID "VIRTUAL-DISK" | 364 | #define PRODUCT_ID "VIRTUAL-DISK" |
| 415 | #define PRODUCT_REV "0" | 365 | #define PRODUCT_REV "0" |
| 416 | 366 | ||
| @@ -422,9 +372,9 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+ | |||
| 422 | + | 372 | + |
| 423 | #endif /* __ISCSI_H__ */ | 373 | #endif /* __ISCSI_H__ */ |
| 424 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20.3+svn502/kernel/nthread.c | 374 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20.3+svn502/kernel/nthread.c |
| 425 | --- iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c 2016-09-25 19:45:01.734641099 +0530 | 375 | --- iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c 2017-01-19 20:19:27.276504928 -0800 |
| 426 | +++ iscsitarget-1.4.20.3+svn502/kernel/nthread.c 2016-09-25 19:47:59.666474094 +0530 | 376 | +++ iscsitarget-1.4.20.3+svn502/kernel/nthread.c 2017-01-19 20:32:22.979988634 -0800 |
| 427 | @@ -126,7 +126,12 @@ static int do_recv(struct iscsi_conn *co | 377 | @@ -155,7 +155,12 @@ static int do_recv(struct iscsi_conn *co |
| 428 | 378 | ||
| 429 | oldfs = get_fs(); | 379 | oldfs = get_fs(); |
| 430 | set_fs(get_ds()); | 380 | set_fs(get_ds()); |
| @@ -437,7 +387,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20. | |||
| 437 | set_fs(oldfs); | 387 | set_fs(oldfs); |
| 438 | 388 | ||
| 439 | if (res <= 0) { | 389 | if (res <= 0) { |
| 440 | @@ -347,7 +352,11 @@ static int write_data(struct iscsi_conn | 390 | @@ -376,7 +381,11 @@ static int write_data(struct iscsi_conn |
| 441 | ; | 391 | ; |
| 442 | oldfs = get_fs(); | 392 | oldfs = get_fs(); |
| 443 | set_fs(KERNEL_DS); | 393 | set_fs(KERNEL_DS); |
| @@ -449,7 +399,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20. | |||
| 449 | set_fs(oldfs); | 399 | set_fs(oldfs); |
| 450 | dprintk(D_DATA, "%#Lx:%u: %d(%ld)\n", | 400 | dprintk(D_DATA, "%#Lx:%u: %d(%ld)\n", |
| 451 | (unsigned long long) conn->session->sid, conn->cid, | 401 | (unsigned long long) conn->session->sid, conn->cid, |
| 452 | @@ -478,7 +487,11 @@ static int tx_ddigest(struct iscsi_cmnd | 402 | @@ -503,7 +512,11 @@ static int tx_ddigest(struct iscsi_cmnd |
| 453 | iov.iov_base = (char *) (&cmnd->ddigest) + (sizeof(u32) - rest); | 403 | iov.iov_base = (char *) (&cmnd->ddigest) + (sizeof(u32) - rest); |
| 454 | iov.iov_len = rest; | 404 | iov.iov_len = rest; |
| 455 | 405 | ||
| @@ -461,7 +411,7 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20. | |||
| 461 | 411 | ||
| 462 | if (res > 0) { | 412 | if (res > 0) { |
| 463 | cmnd->conn->write_size -= res; | 413 | cmnd->conn->write_size -= res; |
| 464 | @@ -677,7 +690,12 @@ static void close_conn(struct iscsi_conn | 414 | @@ -702,7 +715,12 @@ static void close_conn(struct iscsi_conn |
| 465 | 415 | ||
| 466 | write_lock_bh(&conn->sock->sk->sk_callback_lock); | 416 | write_lock_bh(&conn->sock->sk->sk_callback_lock); |
| 467 | conn->sock->sk->sk_state_change = target->nthread_info.old_state_change; | 417 | conn->sock->sk->sk_state_change = target->nthread_info.old_state_change; |
| @@ -475,8 +425,8 @@ diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20. | |||
| 475 | write_unlock_bh(&conn->sock->sk->sk_callback_lock); | 425 | write_unlock_bh(&conn->sock->sk->sk_callback_lock); |
| 476 | 426 | ||
| 477 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/volume.c iscsitarget-1.4.20.3+svn502/kernel/volume.c | 427 | diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/volume.c iscsitarget-1.4.20.3+svn502/kernel/volume.c |
| 478 | --- iscsitarget-1.4.20.3+svn502_org/kernel/volume.c 2016-09-25 19:45:01.734641099 +0530 | 428 | --- iscsitarget-1.4.20.3+svn502_org/kernel/volume.c 2017-01-19 20:19:27.276504928 -0800 |
| 479 | +++ iscsitarget-1.4.20.3+svn502/kernel/volume.c 2016-09-25 19:47:59.666474094 +0530 | 429 | +++ iscsitarget-1.4.20.3+svn502/kernel/volume.c 2017-01-19 20:32:22.979988634 -0800 |
| 480 | @@ -84,12 +84,25 @@ static int set_scsisn(struct iet_volume | 430 | @@ -84,12 +84,25 @@ static int set_scsisn(struct iet_volume |
| 481 | /* Generate a MD5 hash of the target IQN and LUN number */ | 431 | /* Generate a MD5 hash of the target IQN and LUN number */ |
| 482 | static void gen_scsiid(struct iet_volume *volume) | 432 | static void gen_scsiid(struct iet_volume *volume) |
