Accepting request 173303 from Virtualization:VMware
- Add open-vm-tools-kernel-3.8.patch: Fix build with kernel 3.8.x. - Update to version 9.2.0: + Fixes for HGFS driver to compile on newer kernels (3.6). + vmsync driver is disabled on kernels 3.0+ as vmbackup plugin uses FIFREEZE/FITHAW standard ioctls. + Fixes for Copy/Paste (and C&P is temporarily disabled on Solaris due to C++ library issues). - Rebase open-vm-tools-kernel-3.6.patch: mostly fixed upstream. - No longer build vmblock.ko: it's been obsoleted in favor of vmblock-fuse. - Change vmtoolsd to use vmware-vmblock-fuse instead of vmblock.ko, using the new mount point /var/run/vmblock-fuse. - Add fuse Requires, as we now use vmblock-fuse. * Fixes bnc#803157. OBS-URL: https://build.opensuse.org/request/show/173303 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/open-vm-tools?expand=0&rev=46
This commit is contained in:
commit
398a1dc2ae
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:06f80b220c52d2438a7ef5628fb05eb7130a2f1e758ee6399d2e96ea54bd8c52
|
|
||||||
size 3557157
|
|
3
open-vm-tools-9.2.2-893683.tar.gz
Normal file
3
open-vm-tools-9.2.2-893683.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1ae795e75bf4b38185f39083b8075686d3bab4c1222f4e39c863aeccb2f5f387
|
||||||
|
size 3561799
|
@ -1,49 +1,8 @@
|
|||||||
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
|
Index: open-vm-tools-9.2.2-893683/modules/linux/vmsync/sync.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
|
--- open-vm-tools-9.2.2-893683.orig/modules/linux/vmsync/sync.c
|
||||||
@@ -1801,7 +1802,7 @@
|
+++ open-vm-tools-9.2.2-893683/modules/linux/vmsync/sync.c
|
||||||
#else
|
@@ -162,7 +162,7 @@ VmSyncThawDevices(void *_state) // IN
|
||||||
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);
|
cancel_delayed_work(&state->thawTask);
|
||||||
list_for_each_safe(cur, tmp, &state->devices) {
|
list_for_each_safe(cur, tmp, &state->devices) {
|
||||||
dev = list_entry(cur, VmSyncBlockDevice, list);
|
dev = list_entry(cur, VmSyncBlockDevice, list);
|
||||||
@ -52,7 +11,7 @@ diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmsync/sync.c open
|
|||||||
thaw_bdev(dev->bdev, dev->sb);
|
thaw_bdev(dev->bdev, dev->sb);
|
||||||
atomic_dec(&gFreezeCount);
|
atomic_dec(&gFreezeCount);
|
||||||
}
|
}
|
||||||
@@ -237,7 +237,7 @@
|
@@ -237,7 +237,7 @@ VmSyncAddPath(const VmSyncState *state,
|
||||||
* the superblock is already frozen.
|
* the superblock is already frozen.
|
||||||
*/
|
*/
|
||||||
if (inode->i_sb->s_bdev == NULL ||
|
if (inode->i_sb->s_bdev == NULL ||
|
||||||
@ -61,4 +20,3 @@ diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmsync/sync.c open
|
|||||||
result = (inode->i_sb->s_bdev == NULL) ? -EINVAL : -EALREADY;
|
result = (inode->i_sb->s_bdev == NULL) ? -EINVAL : -EALREADY;
|
||||||
compat_path_release(&nd);
|
compat_path_release(&nd);
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
|
52
open-vm-tools-kernel-3.8.patch
Normal file
52
open-vm-tools-kernel-3.8.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
--- a/modules/linux/shared/compat_mm.h
|
||||||
|
+++ b/modules/linux/shared/compat_mm.h
|
||||||
|
@@ -99,8 +99,18 @@ static inline struct page * alloc_pages(
|
||||||
|
vmtruncate(inode, size); \
|
||||||
|
result; \
|
||||||
|
})
|
||||||
|
-#else
|
||||||
|
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
|
||||||
|
#define compat_vmtruncate(inode, size) vmtruncate(inode, size)
|
||||||
|
+#else
|
||||||
|
+#define compat_vmtruncate(inode, size) \
|
||||||
|
+({ \
|
||||||
|
+ result = inode_newsize_ok(inode, size); \
|
||||||
|
+ if (!result) \
|
||||||
|
+ { \
|
||||||
|
+ truncate_setsize(inode, size); \
|
||||||
|
+ } \
|
||||||
|
+ result; \
|
||||||
|
+})
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
--- a/modules/linux/vmci/linux/driver.c
|
||||||
|
+++ b/modules/linux/vmci/linux/driver.c
|
||||||
|
@@ -124,7 +124,7 @@ static struct pci_driver vmci_driver = {
|
||||||
|
.name = "vmci",
|
||||||
|
.id_table = vmci_ids,
|
||||||
|
.probe = vmci_probe_device,
|
||||||
|
- .remove = __devexit_p(vmci_remove_device),
|
||||||
|
+ .remove = vmci_remove_device,
|
||||||
|
};
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19)
|
||||||
|
@@ -1750,7 +1750,7 @@ vmci_enable_msix(struct pci_dev *pdev) /
|
||||||
|
*-----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
-static int __devinit
|
||||||
|
+static int
|
||||||
|
vmci_probe_device(struct pci_dev *pdev, // IN: vmci PCI device
|
||||||
|
const struct pci_device_id *id) // IN: matching device ID
|
||||||
|
{
|
||||||
|
@@ -1978,7 +1978,7 @@ vmci_probe_device(struct pci_dev *pdev,
|
||||||
|
*-----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
-static void __devexit
|
||||||
|
+static void
|
||||||
|
vmci_remove_device(struct pci_dev* pdev)
|
||||||
|
{
|
||||||
|
struct vmci_device *dev = pci_get_drvdata(pdev);
|
||||||
|
|
@ -1,3 +1,25 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 24 19:57:20 UTC 2013 - dimstar@opensuse.org
|
||||||
|
|
||||||
|
- Add open-vm-tools-kernel-3.8.patch: Fix build with kernel 3.8.x.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 3 18:26:54 UTC 2013 - dimstar@opensuse.org
|
||||||
|
|
||||||
|
- Update to version 9.2.0:
|
||||||
|
+ Fixes for HGFS driver to compile on newer kernels (3.6).
|
||||||
|
+ vmsync driver is disabled on kernels 3.0+ as vmbackup plugin
|
||||||
|
uses FIFREEZE/FITHAW standard ioctls.
|
||||||
|
+ Fixes for Copy/Paste (and C&P is temporarily disabled on
|
||||||
|
Solaris due to C++ library issues).
|
||||||
|
- Rebase open-vm-tools-kernel-3.6.patch: mostly fixed upstream.
|
||||||
|
- No longer build vmblock.ko: it's been obsoleted in favor of
|
||||||
|
vmblock-fuse.
|
||||||
|
- Change vmtoolsd to use vmware-vmblock-fuse instead of vmblock.ko,
|
||||||
|
using the new mount point /var/run/vmblock-fuse.
|
||||||
|
- Add fuse Requires, as we now use vmblock-fuse.
|
||||||
|
* Fixes bnc#803157.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Mar 2 08:16:26 UTC 2013 - coolo@suse.com
|
Sat Mar 2 08:16:26 UTC 2013 - coolo@suse.com
|
||||||
|
|
||||||
|
@ -26,15 +26,15 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Modules that have to be build up to version 12.2 (Last checked on 2012-02-05 with kernel 3.2.0)
|
# Modules that have to be build up to version 12.2 (Last checked on 2012-02-05 with kernel 3.2.0)
|
||||||
%define vm_modules vmci vmblock vmhgfs vmsync vsock %{?vm_modules1210}
|
%define vm_modules vmci vmhgfs vmsync vsock %{?vm_modules1210}
|
||||||
|
|
||||||
# X modules are lower prio upstream and once in a while fail. Offer an easy way to enable/disable them.
|
# X modules are lower prio upstream and once in a while fail. Offer an easy way to enable/disable them.
|
||||||
%define with_X 1
|
%define with_X 1
|
||||||
|
|
||||||
Name: open-vm-tools
|
Name: open-vm-tools
|
||||||
Version: 9.2.0
|
Version: 9.2.2
|
||||||
Release: 0
|
Release: 0
|
||||||
%define svn_rev 799703
|
%define svn_rev 893683
|
||||||
Summary: Open Virtual Machine Tools
|
Summary: Open Virtual Machine Tools
|
||||||
License: BSD-3-Clause and GPL-2.0 and LGPL-2.1
|
License: BSD-3-Clause and GPL-2.0 and LGPL-2.1
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
@ -48,6 +48,7 @@ Source6: open-vm-tools-modprobe.conf
|
|||||||
Source7: tools.conf
|
Source7: tools.conf
|
||||||
Source98: preamble
|
Source98: preamble
|
||||||
Patch0: open-vm-tools-kernel-3.6.patch
|
Patch0: open-vm-tools-kernel-3.6.patch
|
||||||
|
Patch1: open-vm-tools-kernel-3.8.patch
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
# don't use pkgconfig(gtk+-2.0) so we can build on SLE
|
# don't use pkgconfig(gtk+-2.0) so we can build on SLE
|
||||||
BuildRequires: gtk2-devel
|
BuildRequires: gtk2-devel
|
||||||
@ -68,6 +69,8 @@ BuildRequires: liburiparser-devel
|
|||||||
%endif
|
%endif
|
||||||
BuildRequires: pam-devel
|
BuildRequires: pam-devel
|
||||||
Requires: vmware-guest-kmp
|
Requires: vmware-guest-kmp
|
||||||
|
# In order to have access to vmblock-fuse, we do require fuse
|
||||||
|
Requires: fuse
|
||||||
Supplements: modalias(pci:v000015ADd*sv*sd*bc*sc*i*)
|
Supplements: modalias(pci:v000015ADd*sv*sd*bc*sc*i*)
|
||||||
Requires(pre): %fillup_prereq
|
Requires(pre): %fillup_prereq
|
||||||
Requires(pre): %insserv_prereq
|
Requires(pre): %insserv_prereq
|
||||||
@ -162,6 +165,7 @@ if you intend to create own plugins for vmtoolsd.
|
|||||||
%setup -q -n %{name}-%{version}-%{svn_rev}
|
%setup -q -n %{name}-%{version}-%{svn_rev}
|
||||||
%if 0%{?suse_version} > 1220
|
%if 0%{?suse_version} > 1220
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
%endif
|
%endif
|
||||||
chmod -x AUTHORS COPYING ChangeLog NEWS README
|
chmod -x AUTHORS COPYING ChangeLog NEWS README
|
||||||
# fix for an rpmlint warning regarding wrong line feeds
|
# fix for an rpmlint warning regarding wrong line feeds
|
||||||
|
13
vmtoolsd
13
vmtoolsd
@ -81,8 +81,12 @@ case "$1" in
|
|||||||
if [ ! -d /tmp/VMwareDnD ]; then
|
if [ ! -d /tmp/VMwareDnD ]; then
|
||||||
mkdir -m 1777 /tmp/VMwareDnD
|
mkdir -m 1777 /tmp/VMwareDnD
|
||||||
fi
|
fi
|
||||||
modprobe vmblock
|
if [ ! -d /var/run/vmblock-fuse ]; then
|
||||||
mount -t vmblock none /proc/fs/vmblock/mountPoint
|
mkdir -m 555 /var/run/vmblock-fuse
|
||||||
|
fi
|
||||||
|
/usr/bin/vmware-vmblock-fuse \
|
||||||
|
-o subtype=vmware-vmblock,default_permissions,allow_other \
|
||||||
|
/var/run/vmblock-fuse
|
||||||
modprobe $VMBALLOON
|
modprobe $VMBALLOON
|
||||||
modprobe vmsync
|
modprobe vmsync
|
||||||
## Start daemon with startproc(8). If this fails
|
## Start daemon with startproc(8). If this fails
|
||||||
@ -98,14 +102,13 @@ case "$1" in
|
|||||||
## killproc sets the return value according to LSB.
|
## killproc sets the return value according to LSB.
|
||||||
|
|
||||||
# We need to inform the User process that we're going down.
|
# We need to inform the User process that we're going down.
|
||||||
# Otherwise it keeps references on /proc/fs/vmblock/* and
|
# Otherwise it keeps references on /var/run/vmblock-fuse/* and
|
||||||
# causes issues when reloading vmblock module.
|
# causes issues when reloading vmblock module.
|
||||||
if [ -f "$VMTOOLSUSER_BIN" ]; then
|
if [ -f "$VMTOOLSUSER_BIN" ]; then
|
||||||
/sbin/killproc -SIGUSR1 $VMTOOLSUSER_BIN
|
/sbin/killproc -SIGUSR1 $VMTOOLSUSER_BIN
|
||||||
fi
|
fi
|
||||||
/sbin/killproc -TERM $VMTOOLSD_BIN
|
/sbin/killproc -TERM $VMTOOLSD_BIN
|
||||||
umount /proc/fs/vmblock/mountPoint || :
|
umount /var/run/vmblock-fuse || :
|
||||||
modprobe -r vmblock || :
|
|
||||||
modprobe -r vmsync || :
|
modprobe -r vmsync || :
|
||||||
modprobe -r $VMBALLOON || :
|
modprobe -r $VMBALLOON || :
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ unset SESSION_MANAGER
|
|||||||
|
|
||||||
while [ $RETRY -lt $MAX_RETRY ]; do
|
while [ $RETRY -lt $MAX_RETRY ]; do
|
||||||
|
|
||||||
if [ -f /proc/fs/vmblock/dev ]; then
|
if [ -f /var/run/vmblock-fuse/dev ]; then
|
||||||
/usr/bin/vmware-user-suid-wrapper
|
/usr/bin/vmware-user-suid-wrapper
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user