Re: C-ISAM and NFS
Posted in 1998
On Thu, 8 Jan 1998, Mark Norman wrote: } I tried to access my C-ISAM database remotely through NFS } and it failed with error 125: } } #define ENONFS 125 /* can't use nfs */ } } I am just trying to do a read-only open on the ISAM files. } Is there any way around this limitation, short of using } Byte Design's client-server C-ISAM? It isn't a limitation - it is a design feature. Originally, the problem was that you could not rely on locking over NFS, which made it very dodgy to try using the files over a network. As I understand it, NFS locking is much better these days (though I don't know about how reliable it is), but the NFS-detection code may not been removed from C-ISAM. Or you could be using such an old versino of C-ISAM that it is still a problem -- you don't give any version indication. Yours, Jonathan Leffler (johnl@informix.com) #include <witticism.h> =========================================================================== PS: Here's some (very) old email on the subject. Date: Tue, 24 Mar 92 11:58:06 PST From: rex@ilanit (Rex Ravelo) Subject: Re: CISAM & NFS } Date: Tue Mar 24 11:07:01 1992 } From: susanc@newyork (Susan Serrao) } } Hi! Can someone tell me what our current stand is on } using CISAM against NFS mounted files. I have a customer } who is converting an application from Qantel BASIC to } CISAM (fun stuff!!!) and wans to be able to access } files on another machine like in a client/server configuration. } I know that CISAM doesn't officially work over a network } with our networking products, but what about NFS? They } want to start out with CISAM and then eventually convert } to an SQL based application. I am assuming that you are concerned about concurrency issues. Beyond the licensing issues, here's the technical scoop: Starting with 4.10.UC2 CISAM we implement SYSVLOCK on ports that allow it. Thus, if the implementation of NFS supports the use of fcntl()/flock() aka SYSVLOCK across the network, then CISAM will work properly. On ports, that use "create" locking (i.e. .lok files are created), we specifically check for NFS use. (see ISAM error -125). Rex P.S. I submitted Alan Denney's answer to this question a few weeks ago as TechInfo #3479. Date: Tue, 24 Mar 92 12:42:02 PST From: aland@quasar (Alan Denney) To: rex@ilanit, susanc@newyork, tech@newyork Subject: Re: CISAM & NFS }> From rex@ilanit Tue Mar 24 11:59:27 1992 }> To: tech@newyork, susanc@newyork }> Subject: Re: CISAM & NFS }> }> I am assuming that you are concerned about concurrency issues. Beyond }> the licensing issues, here's the technical scoop: }> }> Starting with 4.10.UC2 CISAM we implement SYSVLOCK on ports that allow it. No. The UC2 version is specific to the SUN 4 port. With UC2 SE and C-ISAM on the Sun 4s, we changed from using create locking to fnctl/flock locking (for those of you scoring at home, that's CREATLOCK to SYS5LOCK, or ("C" or "F") to "5" on your Machines List scorecard in the handy Game Program). For the Sun 3, the 4.10.UE1 port was the first sys5lock port. These were special cases. We rarely change lock methods in mid-release. }> Thus, if the implementation of NFS supports the use of fcntl()/flock() }> aka SYSVLOCK across the network, then CISAM will work properly. Right. Unfortunately, we have no trap in ISAM for any NFS implementations which do NOT assure stability of partial-file locks over NFS. Use at your own risk. Any other use constitutes fraud. Driver carries no cash. }> On ports, that use "create" locking (i.e. .lok files are created), we }> specifically check for NFS use. (see ISAM error -125). }> }> Rex }> }> P.S. I submitted Alan Denney's answer to this question a few weeks ago }> as TechInfo #3479. Perhaps this should be added to it... aland Date: Tue, 28 Jan 92 22:07:03 PST From: aland@quasar (Alan Denney) Subject: Re: C-ISAM and NFS }> From yac@cheetah Tue Jan 28 06:33:14 1992 }> Subject: C-ISAM and NFS }> }> I have a customer running 4.00.UH1 C-ISAM on Dec Ultrix. He wants to }> access the same isam files from 2 seperate machines. The files will be }> located on an NFS mounted drive. Does anybody know if we support NFS }> locking w/ C-ISAM. If the NFS in question supports record locking across machines *and* our C-ISAM and SE use fcntl/flock locking (SYS5LOCK), it should work. I doubt that we do any formal testing of this at the port level, however. For example, the 4.10.UC2+ versions of SE and C-ISAM on Sun should work across NFS. aland Date: Wed, 7 Dec 1994 17:28:48 +0800 From: aland@informix.com (Alan Denney) Subject: Re: CISAM using NFS } Date: Wed Dec 7 16:44:46 1994 } From: nextw!rkuan@tioman } Subject: CISAM using NFS } } IHAC who wonders if CISM 5.00.UC2 would work in SCO (3.2.4) NFS } environment, ie the database isam files would be on a mounted NFS } filesystem. I have checked the tech info saying that CISAM would work } provided that this version of CISAM supports fnctl/flock functions as } well as the NFS implementation supports reliable locking mechanism. } However, according to my customer, the response time is unacceptable } even if there are only two users running the CISAM application. I } suspect that the slow response time could due to the poor } implemetation of SCO's NFS: problem with the lockd daemon. I would } appreciate if anyone out there share with me your comments on this.~ } Thanks a lot~ } } Ryan Kuan~ } rkuan@informix.com infmx malaysia SCO's NFS implementation has been notorious in this regard. They've supposedly fixed performance problems over the past year or two and issued patch releases (support level supplements, or "SLS"); current software should be OK, I would think. They should check with SCO support and make sure they have all pertinent fixes in place. aland