v_viitanen
Contributor
Contributor

Vmware tools vmhgfs and RHEL 7.3

I'm using vmware workstation pro version 12.5.2 on Windows 8 host.

After upgrading my RHEL 7.2 workstation guest to RHEL 7.3 (kernel 3.10.0-514.el7.x86_64), vmhgfs kernel module broke.

Digging into it, my quick (but not backwards compatible, so this most probably brakes the build for older, RHEL 7.2 kernels) fix is this:

--- page.c.orig     2016-11-16 17:16:42.976101554 +0200
+++ page.c     2016-11-16 17:18:48.938872174 +0200
@@ -1636,7 +1636,7 @@
 int
 HgfsWbRequestWait(HgfsWbPage *req)  // IN: request of page data to write
 {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
    return wait_on_bit_io(&req->wb_flags,
                          PG_BUSY,
                          TASK_UNINTERRUPTIBLE);

Hope this helps someone else than has the same problem.

To apply the patch, unpack /usr/lib/vmware-tools/modules/source/vmhgfs.tar , make the change to page.c, then pack vmhgfs.tar again, and run vmware-config-tools.pl .

10 Replies
mrsolo
Contributor
Contributor

Thanks for the great info!

However I had to put the patched vmhgfs.tar in the VMware tools install folder though.

Looks like the vmwaretools installer reset the folder /usr/lib/vmware-tools/modules/source/ every time so the patched vmhgfs.tar placed in there would be replaced by a version from the vmwaretools distribution

0 Kudos
steve_goddard
Expert
Expert

Hi there,

I am the main developer that is responsible for the VMware Shared Folders feature.

Just to let you all know this issue has been fixed in VMware Tools 10.1.0 which is now public and should be available.

So hopefully, you should not need to keep patching the code which is certainly a useful workaround until you get the newer tools release.

Thanks

Steve

Thanks. Steve
mrsolo
Contributor
Contributor

Excellent Steve!

Where exactly can I get this tools version 10.1?

Is this the one?

https://my.vmware.com/group/vmware/details?downloadGroup=VMTOOLS1010&productId=491

The release date is 10/25/16

The Linux ISO mtime is 9/29/16

Sounds like these are for vSphere.

For example this one from a vSphere 6.5 beta back in May "VMware-tools-10.1.0-3766853.tar"

Thanks

jolfa1
Contributor
Contributor

Hi

I just installed Centos 7.3 and get the following errors for vmhgfs. I am using VMWare workstation pro 12.5.2 build-4638234.

  CC [M]  /tmp/modconfig-Bvd1iT/vmhgfs-only/backdoorGcc64.o

/tmp/modconfig-Bvd1iT/vmhgfs-only/backdoorGcc64.o: warning: objtool: BackdoorHbIn()+0xd: duplicate frame pointer save

/tmp/modconfig-Bvd1iT/vmhgfs-only/backdoorGcc64.o: warning: objtool: BackdoorHbOut()+0xd: duplicate frame pointer save

  CC [M]  /tmp/modconfig-Bvd1iT/vmhgfs-only/page.o

/tmp/modconfig-Bvd1iT/vmhgfs-only/page.c: In function ‘HgfsWbRequestWait’:

/tmp/modconfig-Bvd1iT/vmhgfs-only/page.c:1649:23: warning: passing argument 3 of ‘wait_on_bit’ makes integer from pointer without a cast [enabled by default]

                       TASK_UNINTERRUPTIBLE);

                       ^

In file included from include/linux/mmzone.h:9:0,

                 from include/linux/gfp.h:5,

                 from include/linux/mm.h:9,

                 from include/linux/pagemap.h:7,

                 from /tmp/modconfig-Bvd1iT/vmhgfs-only/page.c:28:

include/linux/wait.h:1044:1: note: expected ‘unsigned int’ but argument is of type ‘int (*)(void *)’

wait_on_bit(void *word, int bit, unsigned mode)

^

/tmp/modconfig-Bvd1iT/vmhgfs-only/page.c:1649:23: error: too many arguments to function ‘wait_on_bit’

                       TASK_UNINTERRUPTIBLE);

                       ^

In file included from include/linux/mmzone.h:9:0,

                 from include/linux/gfp.h:5,

                 from include/linux/mm.h:9,

                 from include/linux/pagemap.h:7,

                 from /tmp/modconfig-Bvd1iT/vmhgfs-only/page.c:28:

include/linux/wait.h:1044:1: note: declared here

wait_on_bit(void *word, int bit, unsigned mode)

^

make[2]: *** [/tmp/modconfig-Bvd1iT/vmhgfs-only/page.o] Error 1

make[1]: *** [_module_/tmp/modconfig-Bvd1iT/vmhgfs-only] Error 2

make[1]: Leaving directory `/usr/src/kernels/3.10.0-514.el7.x86_64'

make: *** [vmhgfs.ko] Error 2

make: Leaving directory `/tmp/modconfig-Bvd1iT/vmhgfs-only'

Thanks.

Pasha

0 Kudos
Emmanuel_SF
Contributor
Contributor

Hello,

Any update on this issue? I am hitting the same problem.

Thanks,

Emmanuel

0 Kudos
santee90
Contributor
Contributor

More explained solution CentOS 7 安装 vmware-tools-懂客-dongcoder.com

Hope it is appreciated

0 Kudos
kpetersen12
Contributor
Contributor

I can confirm that the solution is to install the VMware Tools version 10.1.0 as linked above.

0 Kudos
Harri2
Contributor
Contributor

I had this issue today. It is not fixed in 10.1.0 for CentOS 7.3 (1611) at least!

This v_viitanen's trick worked for me today!

I have brand new MacBook Pro and colleague proposed VMware Fusion for me. After installation of Fusion and CentOS Guest I installed OVM based on this article  VMware support for Open VM Tools (2073803) | VMware KB‌. After installation of OVM I mounted the /dev/cdrom and got the VMware-Tools-10.1.0-other-4449150.zip in /tmp of the CentOS 7.3 (1611) Guest. Then opened tarball, changed page.c file and created the tarball.

Then I unistalled: vmware--unsinstall-tools.pl

Installed missing C-compiler: yum install gcc

And kernel headers: yum install kernel-devel

Reinstalled: vmware-install.pl and followed instructions

The trick works.

0 Kudos
smoothx1x
Contributor
Contributor

I had the same problem, fixed by downloading the vmware tools for 10.1.0 - http://smooth1.co.uk/installs/dbinstalls.html#1.6

However I just did a yum update and now vmware tools drivers failed to load:

Mar  2 09:05:42 localhost vmware-tools: Switching to guest configuration:[  OK  ]

Mar  2 09:05:42 localhost vmware-tools: Guest filesystem driver:[FAILED]

Mar  2 09:05:42 localhost vmware-tools: Mounting HGFS shares:[FAILED]

Mar  2 09:05:42 localhost systemd: vmware-tools.service: control process exited, code=exited status=1

Mar  2 09:05:42 localhost systemd: Failed to start SYSV: Manages the services needed to run VMware software.

Mar  2 09:05:42 localhost systemd: Unit vmware-tools.service entered failed state.

Mar  2 09:05:42 localhost systemd: vmware-tools.service failed.

The prompt to update vmware tools still appears and when running this we are back to the page.c wait_for_bit issue.

Has anytone come across this new issue?

David.

0 Kudos
ric_poirier
Contributor
Contributor

vmware tools for 10.1.0 fixed this issue for me on CentOS 7.5. The link to the download is no longer available but I had the file stored from a previous installation so I was able to install 10.1.0. I was later able to find 10.1.15 that should also work but I didn't try it: https://my.vmware.com/group/vmware/details?downloadGroup=VMTOOLS10115&productId=614

0 Kudos