On Thu, Oct 17, 2002 at 09:34:20PM -0400, Sam Varshavchik wrote:
> It's come to my attention that some versions of GDBM default to flushing 
> the file descriptor after every write.  Perhaps a flush is a rather 
> expensive process on your RAID box.
This sounds like the solution, but


> int foo=FALSE;
> gdbm_setopt(obj->dbf, GDBM_SYNCMODE, &foo, sizeof(foo));
> to gdbmobj_open() in gdbmobj/gdbmobj.c

It didn't know FALSE and GDBM_SYNCMODE so I went for:
        
        if ((obj->dbf=gdbm_open((char *)filename, 0, mode, 0664, 0)) != 0)
        {
...
                int gdbm_fast=1;
                gdbm_setopt(obj->dbf, GDBM_FASTMODE, &gdbm_fast, sizeof(gdbm_fast));
...
                obj->has_dbf=1;
                return (0);
        }
        return(-1);

But it doesn't do any change. Of course I cleared the source tree and
recompiled again. 
Is your SYNCMODE something different? Which version do you use, it's not
in my manpage.

bye,

-christian-

-- 
Christian Hammers    WESTEND GmbH - Aachen und Dueren     Tel 0241/701333-0
[EMAIL PROTECTED]     Internet & Security for Professionals    Fax 0241/911879
          WESTEND ist CISCO Systems Partner - Authorized Reseller


Reply via email to