Dominique Leuenberger 2012-10-12 09:40:39 +00:00 committed by Git OBS Bridge
parent 1ab3d84244
commit 40d4bb0e22
6 changed files with 83 additions and 60 deletions

View File

@ -1,45 +0,0 @@
--- modules/linux/vmhgfs/filesystem.c.old 2012-06-08 11:46:42.000000000 +0000
+++ modules/linux/vmhgfs/filesystem.c 2012-06-08 11:47:57.000000000 +0000
@@ -31,6 +31,7 @@
#include <linux/list.h>
#include <linux/module.h>
#include <linux/pagemap.h>
+#include <linux/version.h>
#include "compat_cred.h"
#include "compat_dcache.h"
#include "compat_fs.h"
@@ -375,8 +376,11 @@
__func__));
goto exit;
}
-
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)
tempRootDentry = d_alloc_root(rootInode);
+#else
+ tempRootDentry = d_make_root(rootInode);
+#endif
if (tempRootDentry == NULL) {
LOG(4, (KERN_WARNING "VMware hgfs: %s: Could not get "
"root dentry\n", __func__));
--- modules/linux/vmblock/linux/filesystem.c.old 2012-06-08 11:48:17.000000000 +0000
+++ modules/linux/vmblock/linux/filesystem.c 2012-06-08 11:49:05.000000000 +0000
@@ -29,6 +29,7 @@
#include <linux/proc_fs.h>
#include <linux/mount.h>
#include <linux/fs.h>
+#include <linux/version.h>
#include "compat_namei.h"
@@ -525,7 +526,11 @@
return -EINVAL;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)
rootDentry = d_alloc_root(rootInode);
+#else
+ rootDentry = d_make_root(rootInode);
+#endif
if (!rootDentry) {
iput(rootInode);
return -ENOMEM;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c985c8fe7b292209ec1ac7c2b60749d7a9dd7859d789c332deb6baaf53ba8878
size 3795261

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:06f80b220c52d2438a7ef5628fb05eb7130a2f1e758ee6399d2e96ea54bd8c52
size 3557157

View File

@ -0,0 +1,64 @@
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;

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Fri Oct 12 08:19:01 UTC 2012 - dimstar@opensuse.org
- Update to version 9.2.0:
+ Release of open-vm-tools matching Workstation 9.0.
- Drop kernel-3_4.patch: fixed upstream.
- Add open-vm-tools-kernel-3.6.patch: Fix build with kernel 3.6.
- Add pkgconfig(fuse) BuildRequires: Support vmhgfs fuse.
-------------------------------------------------------------------
Sat Aug 4 10:45:41 UTC 2012 - dimstar@opensuse.org

View File

@ -32,14 +32,14 @@
%define with_X 1
Name: open-vm-tools
Version: 8.8.2
Version: 9.2.0
Release: 0
%define svn_rev 590212
%define svn_rev 799703
Summary: Open Virtual Machine Tools
License: BSD-3-Clause ; GPL-2.0 ; LGPL-2.1
Group: System/Emulators/PC
Url: http://open-vm-tools.sourceforge.net/
Source: http://sourceforge.net/projects/open-vm-tools/files/open-vm-tools/stable-8.8.x/%{name}-%{version}-%{svn_rev}.tar.gz
Source: http://sourceforge.net/projects/open-vm-tools/files/open-vm-tools/stable-9.2.x/%{name}-%{version}-%{svn_rev}.tar.gz
Source1: vmtoolsd
Source2: vmware-user-autostart.desktop
Source4: open-vm-tools.permissions
@ -47,7 +47,7 @@ Source5: vmware-user-autostart-wrapper
Source6: open-vm-tools-modprobe.conf
Source7: tools.conf
Source98: preamble
Patch1: kernel-3_4.patch
Patch0: open-vm-tools-kernel-3.6.patch
BuildRequires: gcc-c++
# don't use pkgconfig(gtk+-2.0) so we can build on SLE
BuildRequires: gtk2-devel
@ -60,6 +60,7 @@ BuildRequires: module-init-tools
BuildRequires: pcre-devel
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-devel
BuildRequires: pkgconfig(fuse)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# liburiparser was not present before 11.0
%if 0%{?suse_version} >= 1100
@ -159,7 +160,7 @@ if you intend to create own plugins for vmtoolsd.
%prep
%setup -q -n %{name}-%{version}-%{svn_rev}
%patch1
%patch0 -p1
chmod -x AUTHORS COPYING ChangeLog NEWS README
# fix for an rpmlint warning regarding wrong line feeds
sed -i -e "s/\r//" README
@ -341,6 +342,7 @@ rm -rf %{buildroot}
%{_bindir}/vmware-hgfsclient
%{_bindir}/vmware-rpctool
%{_bindir}/vmware-toolbox-cmd
%{_bindir}/vmware-vmblock-fuse
%{_bindir}/vmware-xferlogs
%{_sbindir}/mount.vmhgfs
/sbin/mount.vmhgfs
@ -348,7 +350,6 @@ rm -rf %{buildroot}
%dir %{_sysconfdir}/vmware-tools
%dir %{_sysconfdir}/vmware-tools/scripts
%dir %{_sysconfdir}/vmware-tools/scripts/vmware
%{_sysconfdir}/vmware-tools/plugins
%{_sysconfdir}/vmware-tools/poweroff-vm-default
%{_sysconfdir}/vmware-tools/poweron-vm-default
%{_sysconfdir}/vmware-tools/resume-vm-default
@ -366,17 +367,11 @@ rm -rf %{buildroot}
%files gui
%defattr(-, root, root)
%{_bindir}/vmware-toolbox
%{_sysconfdir}/xdg/autostart/vmware-user-autostart.desktop
#%%{_sysconfdir}/permissions.d/open-vm-tools
%verify(not mode) %attr(0755,root,root) %{_bindir}/vmware-user-suid-wrapper
%{_libdir}/%{name}/plugins/vmusr/libdesktopEvents.so
%{_libdir}/%{name}/plugins/vmusr/libdndcp.so
%{_libdir}/%{name}/plugins/vmusr/libresolutionSet.so
%if 0%{?suse_version} >= 1140
%{_libdir}/%{name}/plugins/vmusr/libunity.so
%endif
%{_libdir}/%{name}/plugins/vmusr/libvixUser.so
%{_bindir}/vmware-user-autostart-wrapper
%endif