Next: Access synchronisation on NFS, Previous: Description of the Problem: Why we need access synchronisation., Up: Using MsgEd TE and other Fido software in networked environments [Index]
The SMB network protocol (also known as Lan Manager protocol, or OS/2 Peer Network, or Windows network), in principle, has support for propagating record locks over the net. Tests proved that it works quite well in all systems except Linux (Unix). This means that as long as your network only has OS/2, Windows 3.11/95/NT and DOS (with SHARE.EXE loaded) systems, you do not have to worry about access synchronization.
If you add a Linux box to a SMB network, things get more complicated. For adding Linux to a SMB network, the Samba program is used. The Samba server (as of version 1.9.18.p8, which has been used for all tests described below) has some support for record locks, but it has restrictions. The Samba server will not grant a program running on computer A access to a message base file while a program running on computer B has placed a record lock on this file. However, it will frankly grant a second program running on computer B access to this file even while the first program running on computer B still has a lock on this file. This is a bug in the Samba server. It hope it will get fixed in further releases. - A further shortcoming of the samba server is that it does not convert voluntary locks placed on the Unix side into record locks visible on the OS2/DOS/Windows side. This means that any OS/2 program, for example, can always access the message base file even if a Linux program holds a lock on the file.
Also, neither of the available samba clients (smbfs, rumba) have support for propagating voluntary locks as record locks.
The essence of this is: You cannot savely share a message base between Linux/Unix and Non-Unix systems using Samba. All you can do is place the message base on a Samba server if you assure that no other Linux program accesses the message base, and that only OS/2, DOS and Windows clients connect to the Samba server, and further more that on those clients, only one program at a time tries to access the message base (that is: a client with a multitasking OS that runs the tosser must not have any editor installed, and you should never start up two editors simultaneously on any client).
This is harsh, but true. Write mails to the programmers of Samba and beg them to fix the problem with multiple programs on one clients, and to implement the feature to convert voluntary locks on Unix side into record locks on Non-Unix side. Perhaps the situation will then change in the future.