Gentoo Archives: gentoo-commits

From: "Vadim Kuznetsov (vadimk)" <vadimk@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-emulation/open-vm-tools-kmod/files: fragsize.patch setnlink.patch moduleparam.patch
Date: Sat, 04 Feb 2012 16:35:09
Message-Id: 20120204163459.CA0FD20032@flycatcher.gentoo.org
1 vadimk 12/02/04 16:34:59
2
3 Added: fragsize.patch setnlink.patch moduleparam.patch
4 Log:
5 patches for kernel ge 3.2.0
6
7 (Portage version: 2.1.10.44/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.1 app-emulation/open-vm-tools-kmod/files/fragsize.patch
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/open-vm-tools-kmod/files/fragsize.patch?rev=1.1&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/open-vm-tools-kmod/files/fragsize.patch?rev=1.1&content-type=text/plain
14
15 Index: fragsize.patch
16 ===================================================================
17 diff --git a/modules/linux/vmxnet/vmxnet.c b/modules/linux/vmxnet/vmxnet.c
18 index a6f5740..3c75bb2 100644
19 --- a/modules/linux/vmxnet/vmxnet.c
20 +++ b/modules/linux/vmxnet/vmxnet.c
21 @@ -989,7 +989,7 @@ vmxnet_probe_device(struct pci_dev *pdev, // IN: vmxnet PCI device
22 .ndo_start_xmit = &vmxnet_start_tx,
23 .ndo_stop = &vmxnet_close,
24 .ndo_get_stats = &vmxnet_get_stats,
25 - .ndo_set_multicast_list = &vmxnet_set_multicast_list,
26 + .ndo_set_rx_mode = &vmxnet_set_multicast_list,
27 .ndo_change_mtu = &vmxnet_change_mtu,
28 # ifdef VMW_HAVE_POLL_CONTROLLER
29 .ndo_poll_controller = vmxnet_netpoll,
30 @@ -2033,21 +2033,23 @@ vmxnet_map_pkt(struct sk_buff *skb,
31 offset -= skb_headlen(skb);
32
33 for ( ; nextFrag < skb_shinfo(skb)->nr_frags; nextFrag++){
34 + int fragSize;
35 frag = &skb_shinfo(skb)->frags[nextFrag];
36 + fragSize = skb_frag_size(frag);
37
38 // skip those frags that are completely copied
39 - if (offset >= frag->size){
40 - offset -= frag->size;
41 + if (offset >= fragSize){
42 + offset -= fragSize;
43 } else {
44 // map the part of the frag that is not copied
45 dma = pci_map_page(lp->pdev,
46 - frag->page,
47 + frag->page.p,
48 frag->page_offset + offset,
49 - frag->size - offset,
50 + fragSize - offset,
51 PCI_DMA_TODEVICE);
52 - VMXNET_FILL_SG(xre->sg.sg[nextSg], dma, frag->size - offset);
53 + VMXNET_FILL_SG(xre->sg.sg[nextSg], dma, fragSize - offset);
54 VMXNET_LOG("vmxnet_map_tx: txRing[%u].sg[%d] -> frag[%d]+%u (%uB)\n",
55 - dd->txDriverNext, nextSg, nextFrag, offset, frag->size - offset);
56 + dd->txDriverNext, nextSg, nextFrag, offset, fragSize - offset);
57 nextSg++;
58 nextFrag++;
59
60 @@ -2058,11 +2060,14 @@ vmxnet_map_pkt(struct sk_buff *skb,
61
62 // map the remaining frags, we might need to use additional tx entries
63 for ( ; nextFrag < skb_shinfo(skb)->nr_frags; nextFrag++) {
64 + int fragSize;
65 frag = &skb_shinfo(skb)->frags[nextFrag];
66 + fragSize = skb_frag_size(frag);
67 +
68 dma = pci_map_page(lp->pdev,
69 - frag->page,
70 + frag->page.p,
71 frag->page_offset,
72 - frag->size,
73 + fragSize,
74 PCI_DMA_TODEVICE);
75
76 if (nextSg == VMXNET2_SG_DEFAULT_LENGTH) {
77 @@ -2091,9 +2096,9 @@ vmxnet_map_pkt(struct sk_buff *skb,
78
79 nextSg = 0;
80 }
81 - VMXNET_FILL_SG(xre->sg.sg[nextSg], dma, frag->size);
82 + VMXNET_FILL_SG(xre->sg.sg[nextSg], dma, fragSize);
83 VMXNET_LOG("vmxnet_map_tx: txRing[%u].sg[%d] -> frag[%d] (%uB)\n",
84 - dd->txDriverNext, nextSg, nextFrag, frag->size);
85 + dd->txDriverNext, nextSg, nextFrag, fragSize);
86 nextSg++;
87 }
88
89 @@ -2548,7 +2553,7 @@ vmxnet_rx_frags(Vmxnet_Private *lp, struct sk_buff *skb)
90 if (UNLIKELY(newPage == NULL)) {
91 skb_shinfo(skb)->nr_frags = numFrags;
92 skb->len += skb->data_len;
93 - skb->truesize += skb->data_len;
94 + skb->truesize += PAGE_SIZE;
95
96 compat_dev_kfree_skb(skb, FREE_WRITE);
97
98 @@ -2558,10 +2563,12 @@ vmxnet_rx_frags(Vmxnet_Private *lp, struct sk_buff *skb)
99 }
100
101 pci_unmap_page(pdev, rre2->paddr, PAGE_SIZE, PCI_DMA_FROMDEVICE);
102 - skb_shinfo(skb)->frags[numFrags].page = lp->rxPages[dd->rxDriverNext2];
103 + __skb_frag_set_page(&skb_shinfo(skb)->frags[numFrags],
104 + lp->rxPages[dd->rxDriverNext2]);
105 skb_shinfo(skb)->frags[numFrags].page_offset = 0;
106 skb_shinfo(skb)->frags[numFrags].size = rre2->actualLength;
107 skb->data_len += rre2->actualLength;
108 + skb->truesize += PAGE_SIZE;
109 numFrags++;
110
111 /* refill the buffer */
112 @@ -2579,7 +2586,7 @@ vmxnet_rx_frags(Vmxnet_Private *lp, struct sk_buff *skb)
113 VMXNET_ASSERT(numFrags > 0);
114 skb_shinfo(skb)->nr_frags = numFrags;
115 skb->len += skb->data_len;
116 - skb->truesize += skb->data_len;
117 + skb->truesize += PAGE_SIZE;
118 VMXNET_LOG("vmxnet_rx: %dB from rxRing[%d](%dB)+rxRing2[%d, %d)(%dB)\n",
119 skb->len, dd->rxDriverNext, skb_headlen(skb),
120 firstFrag, dd->rxDriverNext2, skb->data_len);
121
122
123
124 1.1 app-emulation/open-vm-tools-kmod/files/setnlink.patch
125
126 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/open-vm-tools-kmod/files/setnlink.patch?rev=1.1&view=markup
127 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/open-vm-tools-kmod/files/setnlink.patch?rev=1.1&content-type=text/plain
128
129 Index: setnlink.patch
130 ===================================================================
131 diff --git a/modules/linux/vmhgfs/fsutil.c b/modules/linux/vmhgfs/fsutil.c
132 index 0c5102b..a978005 100644
133 --- a/modules/linux/vmhgfs/fsutil.c
134 +++ b/modules/linux/vmhgfs/fsutil.c
135 @@ -62,6 +62,31 @@ static int HgfsPackGetattrRequest(HgfsReq *req,
136 * Private function implementations.
137 */
138
139 +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
140 +/*
141 + *----------------------------------------------------------------------------
142 + *
143 + * set_nlink --
144 + *
145 + * Set an inode's link count.
146 + *
147 + * Results:
148 + * None
149 + *
150 + * Side effects:
151 + * None
152 + *
153 + *----------------------------------------------------------------------------
154 + */
155 +
156 +static inline void
157 +set_nlink(struct inode *inode, unsigned int nlink)
158 +{
159 + inode->i_nlink = nlink;
160 +}
161 +#endif
162 +
163 +
164 /*
165 *----------------------------------------------------------------------
166 *
167 @@ -607,7 +632,7 @@ HgfsChangeFileAttributes(struct inode *inode, // IN/OUT: Inode
168 * account for '.' and ".."), and find printed a hard link error. So until
169 * we have getattr support for nlink, everyone gets 1.
170 */
171 - inode->i_nlink = 1;
172 + set_nlink(inode, 1);
173
174 /*
175 * Use the stored uid and gid if we were given them at mount-time, or if
176
177
178
179 1.1 app-emulation/open-vm-tools-kmod/files/moduleparam.patch
180
181 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/open-vm-tools-kmod/files/moduleparam.patch?rev=1.1&view=markup
182 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/open-vm-tools-kmod/files/moduleparam.patch?rev=1.1&content-type=text/plain
183
184 Index: moduleparam.patch
185 ===================================================================
186 diff --git a/modules/linux/vmhgfs/tcp.c b/modules/linux/vmhgfs/tcp.c
187 index c7070a6..31a40df 100644
188 --- a/modules/linux/vmhgfs/tcp.c
189 +++ b/modules/linux/vmhgfs/tcp.c
190 @@ -32,6 +32,7 @@
191 #include <linux/in.h>
192 #include <linux/net.h>
193 #include <linux/inet.h>
194 +#include <linux/moduleparam.h>
195 #include <linux/errno.h>
196 #include <linux/kthread.h>