On Mon, 2002-12-16 at 19:24, Ing Juan Pablo Feria wrote:
> We have some Fox Pro apps shared on Samba server (I know FOX sucks) and
> sometimes we need to recreate indexes, and we have to call all the users
> and ask them to close their programs.
>
> If we kill the user's smb process we got corrupted indexes...
>
> here's the question : is there any way to force the used files by an
smb
> user process to close avoiding corruption, or perhaps make the server
> "think" that the user's the one closing the files.
I don't think there is a way to do this. With the xBase file format
(.DBF), you are talking about a shared-file database on a file server.
When a client is updating the file, the client is also responsible for
maintaining (updating) any production indexes for that file (the .MDX
file for dBase anyway). This is happening on the client side - not the
server side. I don't see how the smbd process could know the index was
updated or flushed to disk properly, since index changes may still be
cached on the client side....
Your best bet in my experience with dBASE or FoxPro is to disable
oplocks on those files, to avoid client-side caching of the files. Use
the 'veto oplock files' parameter on the share to do this. Samba also
has several options that control write caching and syning to disk. These
may help ensure that the index file changes are always flushed to disk
as well....
--
/-----------------------------------------------
| Jim Morris | Email: Jim@Morris-World.com
| | AIM: JFM2001
\-----------------------------------------------