Operating System - OpenVMS

CIFS 1.1 + mount.cifs (Linux) uncompleted operations

Go to solution
Ben Armstrong
Regular Advisor

CIFS 1.1 + mount.cifs (Linux) uncompleted operations

My colleague, Rod Regier and I have been testing CIFS 1.1. He has mentioned the version particulars in a prior thread.

Although we have been successful so far using Windows XP SP3 and Win2k3 clients, I have some issues using mount.cifs (both from smbfs 3.2.5 and 3.3.2) with Linux kernels 2.6.26 and 2.6.29.

I can mount a share using 'domain' authentication as follows:

mount -t cifs //dymc/s /dymc/s -o user=bg,pass=xxxxxxx,netbiosname=bgpc,uid=ben,gid=dv,file_mode=0755,dir_mode=0755

These same parameters work fine with JYC's Samba 2.2.8. However, with CIFS 1.1 using these parameters, I have observed two problems:

1. when I 'cd /dymc/s/bg/ && ls -la', no directory contents are shown except for '.' and '..'.

2. when I 'cd /dymc/s/bg/ && cat test.txt', this works if the text file is Stream or StreamLF, but if it is Variable, the cat command hangs forever and the Linux kernel then logs these messages every 6 seconds:

No response for cmd 50 mid 35
No response for cmd 50 mid 41
No response for cmd 50 mid 47

The only way I have found so far to recover from this situation is to reboot the system.

What is this? Googling the error has suggested these possibly related things:

SMBTrans2 - maybe CIFS 1.1 doesn't implement (fully) these commands (or at least not in a way compatible with my client)?

Oplocks - enabled by default, I believe ... if I specify 'noopl' it doesn't help / possibly makes the problem worse.

All files with problems seem to go through something called 'unix_convert' (from log.smbd ... which is filled with vast quantities of materials, too large to include the whole thing here):

[2009/03/31 13:21:00, 3] SAMBA$SRC:[SOURCE.SMBD]PROCESS.C;1:(926)

switch message SMBtrans2 (pid 31044) conn 0xd6b438

[2009/03/31 13:21:00, 4] SAMBA$SRC:[SOURCE.SMBD]UID.C;1:(187)

change_to_user: Skipping user change - already user

[2009/03/31 13:21:00, 4] SAMBA$SRC:[SOURCE.SMBD]VFS.C;1:(734)

vfs_ChDir to dym$disk:[000000]

[2009/03/31 13:21:00, 3] SAMBA$SRC:[SOURCE.SMBD]TRANS2.C;1:(3431)

call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 512

[2009/03/31 13:21:00, 5] SAMBA$SRC:[SOURCE.SMBD]FILENAME.C;1:(147)

unix_convert called on file "bg/test3.txt"

[2009/03/31 13:21:00, 5] SAMBA$SRC:[SOURCE.VMS]VMS_HACKS.C;1:(2155)

vms_convert called on file "bg/test3.txt"

[2009/03/31 13:21:00, 5] SAMBA$SRC:[SOURCE.VMS]VMS_HACKS.C;1:(2233)

vms_convert: conversion finished bg/test3.txt

Any ideas what is going on / what I should be looking for in the logs?

Paul Nunez
Respected Contributor

Re: CIFS 1.1 + mount.cifs (Linux) uncompleted operations

Hi Ben,

Try adding:

vms path names = no

in the [s] share stanza of smb.conf and see if it behaves any better.

As for the Variable length file issue, add:

vfs objects = varvfc

to any share stanza (or the [global] section, to affect all shares which don't have an explicit "vfs objects" setting) if the share may be used to store files with Variable length or VFC record formats.

If you want to test with oplocks disabled, add the following lines to the share stanza:

oplocks = no
level2 oplocks = no

BTW, v1.1 ECO1 is now available, as well as a set of patches (PS002) for eco1. I strongly recommend all customers upgrade. Kits are available from:

ftp hprc.external.hp.com
Username: pathwork
Password: support

cd cifs-v11-eco1
200 PORT command successful
150 Opening BINARY mode data connection for file list

The pcsi zip files contain patched pcsi images to resolve a PCSI problem that occurs only when CIFS is NOT installed on the system disk. In such environments, install the pcsi patch prior to upgrading CIFS.


Ben Armstrong
Regular Advisor

Re: CIFS 1.1 + mount.cifs (Linux) uncompleted operations

Yes, we already set "vfs objects = varvfc". That doesn't help. It works fine with a Windows client, but not on Linux.

How might "vms path names = no" help? I don't want to adversely affect Windows clients as they seem to be working, and my system is the sole Linux system on the network.

As for oplocks, that's just a guess based on a hazy understanding of some posts I found via Google. This has more the feel of something buggy than a configuration problem.

So, with that in mind, we have ECO1, but not PS002 -- I'll have Rod apply that patch next to see if it helps.

Paul Nunez
Respected Contributor

Re: CIFS 1.1 + mount.cifs (Linux) uncompleted operations

You could use the smb.conf INCLUDE and variable substitution functionality to force CIFS to use a different smb.conf file designed specifically for the linux box. See the smb.conf man page for more info, but it would involve doing something like:

1. Copy samba$root:[lib]smb.conf to samba$root:[lib]smb.conf_bgpc

2. Add the following lines to smb.conf:

smb ports = 139
include = /samba$root/lib/smb.conf_%m

3. edit samba$root:[lib]smb.conf_bgpc as desired.