HPUX CIFS CLIENT and Netapp CDOT 8.2

We have been in the process of migrating to CDOT 8.2. We have HP-UX servers that mount cifs share for data exchange between oracle and other systems. Recently during the move of a vfiler we had issues connecting via CIFS to the new vserver. I usally just use the mount command to mount cifs shares instead of using cifsmount with the cifsdb to do the mount. Then users just use cifslogin under the account that needs access to bea able to r/w data to the shares. But when I mount to cdot, it works, but the mount is not accessible. Looking at the mount directory with ll looks something like this:

server:user1 mnt> ll
total 1
drwx------ 2 root     sys       96 Jun  8  2011 apps01_data
?????????? ? root sys ? Apr 29 11:19 int
drwxr-x--- 2 root     sys       96 Apr 29 08:53 int_nfs
drwxr-x--- 2 root     sys       96 Mar 13  2012 iso
drwxr-x--- 2 root     sys       96 Jan 29  2014 test

So, I then decided maybe I would try using cifsmount instead. And I kept getting this error.

server:user1 mnt# sudo cifsmount //dl120g6j04u27/c$ /mnt/int -U account
account's password on dl120g6j04u27: 
Unknown error 999/999
So after a day, or so, of research it seemed that the issue was ASCII vs UNICODE in the share name from cdot. Cdot is using UNICODE and by default the CIFS CLIENT was wanting ASCII. I actually latched onto this from a post about AIX having a similar issue.

http://community.netapp.com/t5/Data-ONTAP-Discussions/Has-anyone-been-able-to-mount-a-cdot-CIFS-share-in-AIX/td-p/76427

This led me to start looking more into this issue. In the end I found this:

http://h20564.www2.hp.com/hpsc/doc/public/display?docId=emr_na-c03605175&sp4ts.oid=3368606

This pointed me to setting the parameter useStrictUnicode to yes.I ended up modifying this section of /etc/opt/cifsclient/cifsclient.cfg:

{   # Match all unknown servers
                        OS = "*";
                        LanManager = "*";
                        config = {
                                useUnicode = yes; # ADDED THIS LINE
                                useStrictUnicode = yes; # AND THIS LINE
                                disableSmbs = ( # these are additional to other config
                                        # unknown server is probably windows, so disable the SMBs that don't work there
                                        setattrTrans2SetFile,   # don't use trans2/setfileinfo
                                        setattrTrans2SetPath,   # don't use trans2/setpathinfo
                                        getattrTrans2QueryPath, # W9x does not support trans2/getpathinfo
                                );
                        };
                },
I then restarted the cifs client. Once that was complete the cifsmount command was successful and we could access the data on vserver.

Again, HP is going to discontinue support for CIFS in July 2015. We are hoping to move to multiprotocal access to the CIFS share on cdot so that we can mount the shares via cifs for Windows users and NFS for UNIX users. It's crazy that after all this time we have to jump through all these hoops just to have data exchange between Windows and UNIX. 


Comments