The Joys of NFS and OpenVMS
Lately I have been making extensive use of NFS on OpenVMS VAX coupled with Ubuntu Linux. Unfortunately, being on VAX means that there are no new versions of HP TCP/IP Service past V5.3 ECO4 and OpenVMS VAX V7.3 and its associated patches. This means that when you run into a problem, which doesn't happen too often, you're on your own. As luck would have it, this is exactly where I found myself with NFS.
The configuration I have is a system running Ubuntu Server 12.04 LTS (dockmaster) which exports a directory under my home directory, /home/tsneddon/vms. This is in turn is mounted by my OpenVMS VAX V7.3 system (bender) as DNFSn: via TCP/IP Services V5.3 ECO4 using the following command:
$ TCPIP MOUNT DNFS0: GIT DISK$GIT -
/HOST="dockmaster" -
/PATH="/home/tsneddon/vms" -
/ADF/WRITE/GROUP/NOCONVERT
The TCPIP MOUNT process works without issue. The problems I ran into came about when I tried to create a version of a file, greater than ;9. Here is a snippet from my terminal session thats demonstrates the issue:
$ COPY NLA0: DNSF1:[000000]T.T
$ COPY NLA0: DNSF1:[000000]T.T
$ COPY NLA0: DNSF1:[000000]T.T
$ COPY NLA0: DNSF1:[000000]T.T
$ COPY NLA0: DNSF1:[000000]T.T
$ COPY NLA0: DNSF1:[000000]T.T
$ COPY NLA0: DNSF1:[000000]T.T
$ COPY NLA0: DNSF1:[000000]T.T
$ COPY NLA0: DNSF1:[000000]T.T
%COPY-E-OPENOUT, error opening DNFS1:[000000]T.T; as output
-RMS-E-CRE, ACP file create failed
-SYSTEM-W-BADFILEVER, bad file version number
%COPY-W-NOTCOPIED, NLA0:[].; not copied
This issue is not just with the COPY command. It is just easy to demonstrate the problem in this way. Unfortunately, I discovered this problem after substantially editing a file and then trying to save it. As you can imagine, I lost everything. After discovering this I searched the 'net looking for someone who might have encountered the same situation. I also looked through reported problems in the release notes. However, it looks as though I might be the first to encounter this problem as I did not find anything. So I began investigating myself.
I tried a lot of different adjustments to the TCPIP MOUNT command and could not find a solution where I could create files with a version higher than ;9. I could not find any indication of what exactly was wrong with the create. There were no error reports in any log file I could find and nothing sent to OPCOM.
After spending way too much time messing around with this I decided I would try replacing the NFS client images installed on my system with those from V5.3 ECO3 (the only V5.3 kit I could find). Unfortunately the images in this kit had the same problem, so I went back further to the next latest kit, which was the V5.1 ECO5 patch kit. These worked!
So, in case someone else encounters this unfortunate problem I have packed up the necessary images, which can be downloaded at the bottom of this post and the following inscructions can be used to install them. Begin by downloading the ZIP file containing the images and unpack them. This directory is referred to as SYS$DISK:[] in the example below.
$ @SYS$STARTUP:TCPIP$NFS_CLIENT_SHUTDOWN
$ COPY SYS$COMMON:[SYSEXE]TCPIP$DNFS*.EXE SYS$COMMON:[SYSEXE].EXE_OLD
$ COPY SYS$COMMON:[SYS$LDR]TCPIP$DNFSDRIVER.EXE SYS$COMMON:[SYS$LDR].EXE_OLD
$ COPY SYS$DISK:[]TCPIP$DNFSDRIVER.EXE SYS$COMMON:[SYS$LDR]
$ COPY SYS$DISK:[]*.EXE/EXCLUDE=TCPIP$DNFSDRIVER.EXE SYS$COMMON:[SYSEXE]
$ @SYS$STARTUP:TCPIP$NFS_CLIENT_STARTUP
It's not a guarenteed fix (or even a very nice one). However, I have not had any further issues related to NFS when accessing an export served by dockmaster. I would like to hear whether it worked or not for others, so feel free to comment below.
Downloads
The following ZIP file contains all the necessary files:
Acknowledgements
I would like to acknowledge the following sources in producing this blog post:
- Teradactyl for their NFS image.