diff --git a/iscsi-scst/kernel/patches/put_page_callback-2.6.35.patch b/iscsi-scst/kernel/patches/put_page_callback-2.6.35.patch index 46802f285..f692c1fae 100644 --- a/iscsi-scst/kernel/patches/put_page_callback-2.6.35.patch +++ b/iscsi-scst/kernel/patches/put_page_callback-2.6.35.patch @@ -31,7 +31,7 @@ diff -upkr linux-2.6.35/include/linux/net.h linux-2.6.35/include/linux/net.h #define NPROTO AF_MAX -@@ -288,5 +289,44 @@ extern int kernel_sock_shutdown(struct s +@@ -291,5 +292,44 @@ extern int kernel_sock_shutdown(struct s extern struct ratelimit_state net_ratelimit_state; #endif @@ -79,7 +79,7 @@ diff -upkr linux-2.6.35/include/linux/net.h linux-2.6.35/include/linux/net.h diff -upkr linux-2.6.35/net/core/dev.c linux-2.6.35/net/core/dev.c --- linux-2.6.35/net/core/dev.c 2010-05-17 01:17:36.000000000 +0400 +++ linux-2.6.35/net/core/dev.c 2010-05-24 14:51:40.000000000 +0400 -@@ -2732,7 +2732,7 @@ pull: +@@ -3130,7 +3130,7 @@ pull: skb_shinfo(skb)->frags[0].size -= grow; if (unlikely(!skb_shinfo(skb)->frags[0].size)) { @@ -107,7 +107,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c } static int sock_pipe_buf_steal(struct pipe_inode_info *pipe, -@@ -344,7 +344,7 @@ static void skb_release_data(struct sk_b +@@ -337,7 +337,7 @@ static void skb_release_data(struct sk_b if (skb_shinfo(skb)->nr_frags) { int i; for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) @@ -116,7 +116,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c } if (skb_has_frags(skb)) -@@ -765,7 +765,7 @@ struct sk_buff *pskb_copy(struct sk_buff +@@ -754,7 +754,7 @@ struct sk_buff *pskb_copy(struct sk_buff for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { skb_shinfo(n)->frags[i] = skb_shinfo(skb)->frags[i]; @@ -125,7 +125,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c } skb_shinfo(n)->nr_frags = i; } -@@ -831,7 +831,7 @@ int pskb_expand_head(struct sk_buff *skb +@@ -820,7 +820,7 @@ int pskb_expand_head(struct sk_buff *skb sizeof(struct skb_shared_info)); for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) @@ -134,7 +134,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c if (skb_has_frags(skb)) skb_clone_fraglist(skb); -@@ -1105,7 +1105,7 @@ drop_pages: +@@ -1097,7 +1097,7 @@ drop_pages: skb_shinfo(skb)->nr_frags = i; for (; i < nfrags; i++) @@ -143,7 +143,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c if (skb_has_frags(skb)) skb_drop_fraglist(skb); -@@ -1274,7 +1274,7 @@ pull_pages: +@@ -1266,7 +1266,7 @@ pull_pages: k = 0; for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { if (skb_shinfo(skb)->frags[i].size <= eat) { @@ -152,7 +152,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c eat -= skb_shinfo(skb)->frags[i].size; } else { skb_shinfo(skb)->frags[k] = skb_shinfo(skb)->frags[i]; -@@ -1375,7 +1375,7 @@ EXPORT_SYMBOL(skb_copy_bits); +@@ -1367,7 +1367,7 @@ EXPORT_SYMBOL(skb_copy_bits); */ static void sock_spd_release(struct splice_pipe_desc *spd, unsigned int i) { @@ -161,7 +161,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c } static inline struct page *linear_to_page(struct page *page, unsigned int *len, -@@ -1399,7 +1399,7 @@ new_page: +@@ -1391,7 +1391,7 @@ new_page: off = sk->sk_sndmsg_off; mlen = PAGE_SIZE - off; if (mlen < 64 && mlen < *len) { @@ -170,7 +170,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c goto new_page; } -@@ -1409,7 +1409,7 @@ new_page: +@@ -1401,7 +1401,7 @@ new_page: memcpy(page_address(p) + off, page_address(page) + *offset, *len); sk->sk_sndmsg_off += *len; *offset = off; @@ -179,7 +179,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c return p; } -@@ -1430,7 +1430,7 @@ static inline int spd_fill_page(struct s +@@ -1423,7 +1423,7 @@ static inline int spd_fill_page(struct s if (!page) return 1; } else @@ -188,7 +188,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c spd->pages[spd->nr_pages] = page; spd->partial[spd->nr_pages].len = *len; -@@ -2060,7 +2060,7 @@ static inline void skb_split_no_header(s +@@ -2056,7 +2056,7 @@ static inline void skb_split_no_header(s * where splitting is expensive. * 2. Split is accurately. We make this. */ @@ -197,7 +197,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c skb_shinfo(skb1)->frags[0].page_offset += len - pos; skb_shinfo(skb1)->frags[0].size -= len - pos; skb_shinfo(skb)->frags[i].size = len - pos; -@@ -2182,7 +2182,7 @@ int skb_shift(struct sk_buff *tgt, struc +@@ -2178,7 +2178,7 @@ int skb_shift(struct sk_buff *tgt, struc to++; } else { @@ -206,7 +206,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c fragto->page = fragfrom->page; fragto->page_offset = fragfrom->page_offset; fragto->size = todo; -@@ -2204,7 +2204,7 @@ int skb_shift(struct sk_buff *tgt, struc +@@ -2200,7 +2200,7 @@ int skb_shift(struct sk_buff *tgt, struc fragto = &skb_shinfo(tgt)->frags[merge]; fragto->size += fragfrom->size; @@ -215,7 +215,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c } /* Reposition in the original skb */ -@@ -2602,7 +2602,7 @@ struct sk_buff *skb_segment(struct sk_bu +@@ -2598,7 +2598,7 @@ struct sk_buff *skb_segment(struct sk_bu while (pos < offset + len && i < nfrags) { *frag = skb_shinfo(skb)->frags[i]; @@ -227,7 +227,7 @@ diff -upkr linux-2.6.35/net/core/skbuff.c linux-2.6.35/net/core/skbuff.c diff -upkr linux-2.6.35/net/ipv4/ip_output.c linux-2.6.35/net/ipv4/ip_output.c --- linux-2.6.35/net/ipv4/ip_output.c 2010-05-17 01:17:36.000000000 +0400 +++ linux-2.6.35/net/ipv4/ip_output.c 2010-05-24 14:51:40.000000000 +0400 -@@ -1024,7 +1024,7 @@ alloc_new_skb: +@@ -1035,7 +1035,7 @@ alloc_new_skb: err = -EMSGSIZE; goto error; } @@ -236,7 +236,7 @@ diff -upkr linux-2.6.35/net/ipv4/ip_output.c linux-2.6.35/net/ipv4/ip_output.c skb_fill_page_desc(skb, i, page, sk->sk_sndmsg_off, 0); frag = &skb_shinfo(skb)->frags[i]; } -@@ -1182,7 +1182,7 @@ ssize_t ip_append_page(struct sock *sk, +@@ -1194,7 +1194,7 @@ ssize_t ip_append_page(struct sock *sk, if (skb_can_coalesce(skb, i, page, offset)) { skb_shinfo(skb)->frags[i-1].size += len; } else if (i < MAX_SKB_FRAGS) { @@ -259,7 +259,7 @@ diff -upkr linux-2.6.35/net/ipv4/Makefile linux-2.6.35/net/ipv4/Makefile diff -upkr linux-2.6.35/net/ipv4/tcp.c linux-2.6.35/net/ipv4/tcp.c --- linux-2.6.35/net/ipv4/tcp.c 2010-05-17 01:17:36.000000000 +0400 +++ linux-2.6.35/net/ipv4/tcp.c 2010-05-24 14:51:40.000000000 +0400 -@@ -800,7 +800,7 @@ new_segment: +@@ -801,7 +801,7 @@ new_segment: if (can_coalesce) { skb_shinfo(skb)->frags[i - 1].size += copy; } else { @@ -268,7 +268,7 @@ diff -upkr linux-2.6.35/net/ipv4/tcp.c linux-2.6.35/net/ipv4/tcp.c skb_fill_page_desc(skb, i, page, offset, copy); } -@@ -1009,7 +1009,7 @@ new_segment: +@@ -1010,7 +1010,7 @@ new_segment: goto new_segment; } else if (page) { if (off == PAGE_SIZE) { @@ -277,7 +277,7 @@ diff -upkr linux-2.6.35/net/ipv4/tcp.c linux-2.6.35/net/ipv4/tcp.c TCP_PAGE(sk) = page = NULL; off = 0; } -@@ -1050,9 +1050,9 @@ new_segment: +@@ -1051,9 +1051,9 @@ new_segment: } else { skb_fill_page_desc(skb, i, page, off, copy); if (TCP_PAGE(sk)) { @@ -292,7 +292,7 @@ diff -upkr linux-2.6.35/net/ipv4/tcp.c linux-2.6.35/net/ipv4/tcp.c diff -upkr linux-2.6.35/net/ipv4/tcp_output.c linux-2.6.35/net/ipv4/tcp_output.c --- linux-2.6.35/net/ipv4/tcp_output.c 2010-05-17 01:17:36.000000000 +0400 +++ linux-2.6.35/net/ipv4/tcp_output.c 2010-05-24 14:51:40.000000000 +0400 -@@ -1084,7 +1084,7 @@ static void __pskb_trim_head(struct sk_b +@@ -1085,7 +1085,7 @@ static void __pskb_trim_head(struct sk_b k = 0; for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { if (skb_shinfo(skb)->frags[i].size <= eat) { @@ -357,7 +357,7 @@ diff -upkr linux-2.6.35/net/ipv4/tcp_zero_copy.c linux-2.6.35/net/ipv4/tcp_zero_ diff -upkr linux-2.6.35/net/ipv6/ip6_output.c linux-2.6.35/net/ipv6/ip6_output.c --- linux-2.6.35/net/ipv6/ip6_output.c 2010-05-17 01:17:36.000000000 +0400 +++ linux-2.6.35/net/ipv6/ip6_output.c 2010-05-24 14:51:40.000000000 +0400 -@@ -1382,7 +1382,7 @@ alloc_new_skb: +@@ -1383,7 +1383,7 @@ alloc_new_skb: err = -EMSGSIZE; goto error; } diff --git a/scst/kernel/scst_exec_req_fifo-2.6.35.patch b/scst/kernel/scst_exec_req_fifo-2.6.35.patch index 9bdb1011a..87b4f2d2a 100644 --- a/scst/kernel/scst_exec_req_fifo-2.6.35.patch +++ b/scst/kernel/scst_exec_req_fifo-2.6.35.patch @@ -350,7 +350,7 @@ diff -upkr linux-2.6.35/block/blk-map.c linux-2.6.35/block/blk-map.c diff -upkr linux-2.6.35/include/linux/blkdev.h linux-2.6.35/include/linux/blkdev.h --- linux-2.6.35/include/linux/blkdev.h 2010-05-17 01:17:36.000000000 +0400 +++ linux-2.6.35/include/linux/blkdev.h 2010-05-24 14:51:22.000000000 +0400 -@@ -713,6 +713,8 @@ extern unsigned long blk_max_low_pfn, bl +@@ -717,6 +717,8 @@ extern unsigned long blk_max_low_pfn, bl #define BLK_DEFAULT_SG_TIMEOUT (60 * HZ) #define BLK_MIN_SG_TIMEOUT (7 * HZ) @@ -359,7 +359,7 @@ diff -upkr linux-2.6.35/include/linux/blkdev.h linux-2.6.35/include/linux/blkdev #ifdef CONFIG_BOUNCE extern int init_emergency_isa_pool(void); extern void blk_queue_bounce(struct request_queue *q, struct bio **bio); -@@ -828,6 +830,9 @@ extern int blk_rq_map_kern(struct reques +@@ -832,6 +834,9 @@ extern int blk_rq_map_kern(struct reques extern int blk_rq_map_user_iov(struct request_queue *, struct request *, struct rq_map_data *, struct sg_iovec *, int, unsigned int, gfp_t);