[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GDBM 1.11, 1.13 incorrectly handle gdbm_reorganize() if filesystem is NF
From: |
Sebastian Gniazdowski |
Subject: |
GDBM 1.11, 1.13 incorrectly handle gdbm_reorganize() if filesystem is NFS |
Date: |
Tue, 20 Jun 2017 16:01:34 +0200 |
Hello,
I'm using new (not yet merged) gdbm Zsh module. It maps shell's hash table onto
GDBM. Current Zsh upstream has previous version, but it behaves the same.
If I don't comment-out gdbm_reorganize() call, then:
% gdbmtool ./db.gdbm
Welcome to the gdbm tool. Type ? for help.
gdbmtool> list
stdin:1.5: cannot open database db.gdbm: Can't be writer
gdbmtool>
even after "unbind" done in Zsh. I've checked that the unbind correctly calls
gdbm_close().
Commenting-out gdbm_reorganize() call fixes this. This is a proof that
gdbm_close() is really called, 100% of problem lies in gdbm_reorganize().
So basically the error is:
- with NFS file-system, gdbm_reorganize() harms GDBM_FILE structure so that
gdbm_close() doesn't release the database, and it's impossible to connect to
the database again, if no restart of shell.
--
Sebastian Gniazdowski
psprint /at/ zdharma.org
- GDBM 1.11, 1.13 incorrectly handle gdbm_reorganize() if filesystem is NFS,
Sebastian Gniazdowski <=