]> git.pld-linux.org Git - packages/open-vm-tools.git/blame - open-vm-tools-linux-3.10.patch
- rebuild for kernel-3.10.11-1
[packages/open-vm-tools.git] / open-vm-tools-linux-3.10.patch
CommitLineData
01d05bd9
JR
1diff --git a/modules/linux/dkms.conf b/modules/linux/dkms.conf
2index 3ed77f9..263921f 100644
3--- a/modules/linux/dkms.conf
4+++ b/modules/linux/dkms.conf
5@@ -1,39 +1,39 @@
6 PACKAGE_NAME=open-vm-tools
7 PACKAGE_VERSION=2013.04.16
8 MAKE_CMD_TMPL="make VM_UNAME=\$kernelver \
9- MODULEBUILDDIR=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build"
10+ MODULEBUILDDIR=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build \
11+ CC_WARNINGS=-Wno-unused-local-typedefs"
12
13 # The vsock module depends on symbols exported by the vmci module, so it
14 # needs to be built afterwards; the MODULEBUILDDIR variable tells the makefiles
15 # where to store / retrive those symbol files.
16 MAKE[0]="$MAKE_CMD_TMPL -C vmblock; \
17 $MAKE_CMD_TMPL -C vmci; \
18 $MAKE_CMD_TMPL -C vmhgfs; \
19 $MAKE_CMD_TMPL -C vmsync; \
20 $MAKE_CMD_TMPL -C vmxnet; \
21 $MAKE_CMD_TMPL -C vsock"
22 CLEAN[0]="$MAKE_CMD_TMPL -C vmblock clean; \
23 $MAKE_CMD_TMPL -C vmci clean; \
24 $MAKE_CMD_TMPL -C vmhgfs clean; \
25- $MAKE_CMD_TMPL -C vmsync clean"; \
26+ $MAKE_CMD_TMPL -C vmsync clean; \
27 $MAKE_CMD_TMPL -C vmxnet clean; \
28- $MAKE_CMD_TMPL -C vsock clean
29+ $MAKE_CMD_TMPL -C vsock clean"
30 BUILT_MODULE_NAME[0]="vmblock"
31 BUILT_MODULE_NAME[1]="vmci"
32-BUILT_MODULE_NAME[2]="vmhgfs"
33-BUILT_MODULE_NAME[3]="vmsync"
34-BUILT_MODULE_NAME[4]="vmxnet"
35-BUILT_MODULE_NAME[5]="vsock"
36+BUILT_MODULE_NAME[1]="vmhgfs"
37+BUILT_MODULE_NAME[2]="vmsync"
38+BUILT_MODULE_NAME[3]="vmxnet"
39+BUILT_MODULE_NAME[4]="vsock"
40 BUILT_MODULE_LOCATION[0]="vmblock/"
41 BUILT_MODULE_LOCATION[1]="vmci/"
42-BUILT_MODULE_LOCATION[2]="vmhgfs/"
43-BUILT_MODULE_LOCATION[3]="vmsync/"
44-BUILT_MODULE_LOCATION[4]="vmxnet/"
45-BUILT_MODULE_LOCATION[5]="vsock/"
46+BUILT_MODULE_LOCATION[1]="vmhgfs/"
47+BUILT_MODULE_LOCATION[2]="vmsync/"
48+BUILT_MODULE_LOCATION[3]="vmxnet/"
49+BUILT_MODULE_LOCATION[4]="vsock/"
50 DEST_MODULE_LOCATION[0]="/kernel/fs/vmblock"
51-DEST_MODULE_LOCATION[1]="/kernel/drivers/misc"
52-DEST_MODULE_LOCATION[2]="/kernel/fs/vmhgfs"
53-DEST_MODULE_LOCATION[3]="/kernel/drivers/misc"
54-DEST_MODULE_LOCATION[4]="/kernel/drivers/net"
55-DEST_MODULE_LOCATION[5]="/kernel/net/vsock"
56+DEST_MODULE_LOCATION[1]="/kernel/fs/vmhgfs"
57+DEST_MODULE_LOCATION[2]="/kernel/drivers/misc"
58+DEST_MODULE_LOCATION[3]="/kernel/drivers/net"
59+DEST_MODULE_LOCATION[4]="/kernel/net/vsock"
60 AUTOINSTALL="YES"
61diff --git a/modules/linux/vmblock/linux/control.c b/modules/linux/vmblock/linux/control.c
62index 79716bd..ee64cdc 100644
63--- a/modules/linux/vmblock/linux/control.c
64+++ b/modules/linux/vmblock/linux/control.c
65@@ -208,9 +208,10 @@ SetupProcDevice(void)
66 VMBlockSetProcEntryOwner(controlProcMountpoint);
67
68 /* Create /proc/fs/vmblock/dev */
69- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
70- VMBLOCK_CONTROL_MODE,
71- controlProcDirEntry);
72+ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME,
73+ VMBLOCK_CONTROL_MODE,
74+ controlProcDirEntry,
75+ &ControlFileOps);
76 if (!controlProcEntry) {
77 Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
78 remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
79@@ -218,7 +219,6 @@ SetupProcDevice(void)
80 return -EINVAL;
81 }
82
83- controlProcEntry->proc_fops = &ControlFileOps;
84 return 0;
85 }
86
87@@ -278,7 +278,7 @@ ExecuteBlockOp(const char __user *buf, // IN: buffer with name
88 int (*blockOp)(const char *filename, // IN: block operation
89 const os_blocker_id_t blocker))
90 {
91- char *name;
92+ struct filename *name;
93 int i;
94 int retval;
95
96@@ -287,13 +287,13 @@ ExecuteBlockOp(const char __user *buf, // IN: buffer with name
97 return PTR_ERR(name);
98 }
99
100- for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
101- name[i] = '\0';
102+ for (i = strlen(name->name) - 1; i >= 0 && name->name[i] == '/'; i--) {
103+ ((char *)name->name)[i] = '\0';
104 }
105
106- retval = i < 0 ? -EINVAL : blockOp(name, blocker);
107+ retval = i < 0 ? -EINVAL : blockOp(name->name, blocker);
108
109- putname(name);
110+ __putname(name);
111
112 return retval;
113 }
114diff --git a/modules/linux/vmblock/linux/dentry.c b/modules/linux/vmblock/linux/dentry.c
115index 05ea95a..d93b2f0 100644
116--- a/modules/linux/vmblock/linux/dentry.c
117+++ b/modules/linux/vmblock/linux/dentry.c
118@@ -31,8 +31,7 @@
119 #include "filesystem.h"
120 #include "block.h"
121
122-
123-static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
124+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
125
126 struct dentry_operations LinkDentryOps = {
127 .d_revalidate = DentryOpRevalidate,
128@@ -60,7 +59,7 @@ struct dentry_operations LinkDentryOps = {
129
130 static int
131 DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
132- struct nameidata *nd) // IN: lookup flags & intent
133+ unsigned int flags) // IN: lookup flags
134 {
135 VMBlockInodeInfo *iinfo;
136 struct nameidata actualNd;
137@@ -101,7 +100,7 @@ DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
138 if (actualDentry &&
139 actualDentry->d_op &&
140 actualDentry->d_op->d_revalidate) {
141- return actualDentry->d_op->d_revalidate(actualDentry, nd);
142+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
143 }
144
145 if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
146diff --git a/modules/linux/vmblock/linux/inode.c b/modules/linux/vmblock/linux/inode.c
147index 098c94c..ddd37f3 100644
148--- a/modules/linux/vmblock/linux/inode.c
149+++ b/modules/linux/vmblock/linux/inode.c
150@@ -36,7 +36,7 @@
151
152 /* Inode operations */
153 static struct dentry *InodeOpLookup(struct inode *dir,
154- struct dentry *dentry, struct nameidata *nd);
155+ struct dentry *dentry, unsigned int flags);
156 static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
157 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
158 static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
159@@ -75,7 +75,7 @@ static struct inode_operations LinkInodeOps = {
160 static struct dentry *
161 InodeOpLookup(struct inode *dir, // IN: parent directory's inode
162 struct dentry *dentry, // IN: dentry to lookup
163- struct nameidata *nd) // IN: lookup intent and information
164+ unsigned int flags) // IN: lookup flags
165 {
166 char *filename;
167 struct inode *inode;
168diff --git a/modules/linux/vmhgfs/file.c b/modules/linux/vmhgfs/file.c
169index 1033984..db62070 100644
170--- a/modules/linux/vmhgfs/file.c
171+++ b/modules/linux/vmhgfs/file.c
172@@ -25,6 +25,7 @@
173 /* Must come before any kernel header file. */
174 #include "driver-config.h"
175
176+#include <linux/aio.h>
177 #include <linux/errno.h>
178 #include <linux/module.h>
179 #include <linux/signal.h>
180diff --git a/modules/linux/vmsync/sync.c b/modules/linux/vmsync/sync.c
181index d05ccad..73baf8b 100644
182--- a/modules/linux/vmsync/sync.c
183+++ b/modules/linux/vmsync/sync.c
184@@ -162,7 +162,7 @@ VmSyncThawDevices(void *_state) // IN
185 cancel_delayed_work(&state->thawTask);
186 list_for_each_safe(cur, tmp, &state->devices) {
187 dev = list_entry(cur, VmSyncBlockDevice, list);
188- if (dev->sb != NULL && dev->sb->s_frozen != SB_UNFROZEN) {
189+ if (dev->sb != NULL && dev->sb->s_writers.frozen != SB_UNFROZEN) {
190 thaw_bdev(dev->bdev, dev->sb);
191 atomic_dec(&gFreezeCount);
192 }
193@@ -237,7 +237,7 @@ VmSyncAddPath(const VmSyncState *state, // IN
194 * the superblock is already frozen.
195 */
196 if (inode->i_sb->s_bdev == NULL ||
197- inode->i_sb->s_frozen != SB_UNFROZEN) {
198+ inode->i_sb->s_writers.frozen != SB_UNFROZEN) {
199 result = (inode->i_sb->s_bdev == NULL) ? -EINVAL : -EALREADY;
200 compat_path_release(&nd);
201 goto exit;
202@@ -303,7 +303,7 @@ VmSyncFreezeDevices(VmSyncState *state, // IN
203 const char __user *userPaths) // IN
204 {
205 int result = 0;
206- char *paths;
207+ struct filename *paths;
208 char *currPath;
209 char *nextSep;
210 struct list_head *cur, *tmp;
211@@ -328,7 +328,8 @@ VmSyncFreezeDevices(VmSyncState *state, // IN
212 /*
213 * First, try to add all paths to the list of paths to be frozen.
214 */
215- currPath = paths;
216+ currPath = __getname();
217+ strcpy(currPath, paths->name);
218 do {
219 nextSep = strchr(currPath, ':');
220 if (nextSep != NULL) {
221@@ -347,6 +348,7 @@ VmSyncFreezeDevices(VmSyncState *state, // IN
222 }
223 currPath = nextSep + 1;
224 } while (nextSep != NULL);
225+ __putname(currPath);
226
227 /*
228 * If adding all the requested paths worked, then freeze them.
229@@ -371,6 +373,8 @@ VmSyncFreezeDevices(VmSyncState *state, // IN
230 compat_mutex_unlock(&state->lock);
231 compat_mutex_unlock(&gFreezeLock);
232
233+ __putname(paths);
234+
235 if (result == 0) {
236 compat_schedule_delayed_work(&state->thawTask, VMSYNC_THAW_TASK_DELAY);
237 }
238@@ -670,9 +674,10 @@ init_module(void)
239 }
240
241 /* Create /proc/driver/vmware-sync */
242- controlProcEntry = create_proc_entry("driver/vmware-sync",
243- S_IFREG | S_IRUSR | S_IRGRP | S_IROTH,
244- NULL);
245+ controlProcEntry = proc_create("driver/vmware-sync",
246+ S_IFREG | S_IRUSR | S_IRGRP | S_IROTH,
247+ NULL,
248+ &VmSyncFileOps);
249 if (!controlProcEntry) {
250 printk(KERN_ERR "vmsync: could not create /proc/driver/vmware-sync\n");
251 kmem_cache_destroy(gSyncStateCache);
252@@ -680,7 +685,6 @@ init_module(void)
253 return -EINVAL;
254 }
255
256- controlProcEntry->proc_fops = &VmSyncFileOps;
257 return 0;
258 }
259
This page took 0.479949 seconds and 4 git commands to generate.