From 5dd7ed82e788ebad2e920e0f2db7468cc6547cfe Mon Sep 17 00:00:00 2001 From: root Date: Sat, 29 Dec 2012 02:13:48 -0800 Subject: Sat Dec 29 02:10:20 PST 2012 --- .../linux-3.6-build-fix.patch | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 community/open-vm-tools-modules/linux-3.6-build-fix.patch (limited to 'community/open-vm-tools-modules/linux-3.6-build-fix.patch') diff --git a/community/open-vm-tools-modules/linux-3.6-build-fix.patch b/community/open-vm-tools-modules/linux-3.6-build-fix.patch new file mode 100644 index 000000000..f012a3ff1 --- /dev/null +++ b/community/open-vm-tools-modules/linux-3.6-build-fix.patch @@ -0,0 +1,63 @@ +diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/inode.c open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/inode.c +--- open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/inode.c 2012-05-23 00:12:52.000000000 +0400 ++++ open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/inode.c 2012-10-02 15:39:47.000000000 +0400 +@@ -1801,7 +1802,7 @@ + #else + if (mask & MAY_ACCESS) { /* For sys_access. */ + #endif +- struct list_head *pos; ++ struct hlist_node *pos; + int dcount = 0; + struct dentry *dentry = NULL; + +@@ -1817,7 +1818,7 @@ + #endif + + /* Find a dentry with valid d_count. Refer bug 587789. */ +- list_for_each(pos, &inode->i_dentry) { ++ list_for_each(pos, inode->i_dentry.first) { + dentry = list_entry(pos, struct dentry, d_alias); + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 38) + dcount = atomic_read(&dentry->d_count); +diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/page.c open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/page.c +--- open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/page.c 2012-05-23 00:12:52.000000000 +0400 ++++ open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/page.c 2012-10-02 15:41:38.000000000 +0400 +@@ -893,7 +893,7 @@ + */ + if ((offset >= currentFileSize) || + ((pageFrom == 0) && (offset + pageTo) >= currentFileSize)) { +- void *kaddr = kmap_atomic(page, KM_USER0); ++ void *kaddr = kmap_atomic(page); + + if (pageFrom) { + memset(kaddr, 0, pageFrom); +@@ -901,7 +901,7 @@ + if (pageTo < PAGE_CACHE_SIZE) { + memset(kaddr + pageTo, 0, PAGE_CACHE_SIZE - pageTo); + } +- kunmap_atomic(kaddr, KM_USER0); ++ kunmap_atomic(kaddr); + flush_dcache_page(page); + } + } +diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmsync/sync.c open-vm-tools-2012.05.21-724730/modules/linux/vmsync/sync.c +--- open-vm-tools-2012.05.21-724730.org/modules/linux/vmsync/sync.c 2012-05-23 00:12:52.000000000 +0400 ++++ open-vm-tools-2012.05.21-724730/modules/linux/vmsync/sync.c 2012-10-02 15:23:56.000000000 +0400 +@@ -162,7 +162,7 @@ + cancel_delayed_work(&state->thawTask); + list_for_each_safe(cur, tmp, &state->devices) { + dev = list_entry(cur, VmSyncBlockDevice, list); +- if (dev->sb != NULL && dev->sb->s_frozen != SB_UNFROZEN) { ++ if (dev->sb != NULL && dev->sb->s_writers.frozen != SB_UNFROZEN) { + thaw_bdev(dev->bdev, dev->sb); + atomic_dec(&gFreezeCount); + } +@@ -237,7 +237,7 @@ + * the superblock is already frozen. + */ + if (inode->i_sb->s_bdev == NULL || +- inode->i_sb->s_frozen != SB_UNFROZEN) { ++ inode->i_sb->s_writers.frozen != SB_UNFROZEN) { + result = (inode->i_sb->s_bdev == NULL) ? -EINVAL : -EALREADY; + compat_path_release(&nd); + goto exit; -- cgit v1.2.3-54-g00ecf