Message ID | 20220215093618.188149-1-adolf.belka@ipfire.org |
---|---|
State | Accepted |
Commit | ceedba20de1185f24d6abe38bafebdf461be271d |
Headers |
Return-Path: <development-bounces@lists.ipfire.org> Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4JybZX02yfz3wtR for <patchwork@web04.haj.ipfire.org>; Tue, 15 Feb 2022 09:36:35 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4JybZT5BR6z1TN; Tue, 15 Feb 2022 09:36:33 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4JybZT4Pslz2ymg; Tue, 15 Feb 2022 09:36:33 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4JybZS1yksz2xB7 for <development@lists.ipfire.org>; Tue, 15 Feb 2022 09:36:32 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4JybZR2ncKzQl; Tue, 15 Feb 2022 09:36:31 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1644917791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=DTWB4xBwSSJ+CEC2gb2y/Inz/Iz4lPD5A3lj4LydW78=; b=Z7LuWK/9ELkEwR0ixDOXj2SgIiKBFVjybQ+iZeDOcVjsLu4gozJ6RWKZB7AiLRFlLgqDSp XNE1RO9OlLCNtqBA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1644917791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=DTWB4xBwSSJ+CEC2gb2y/Inz/Iz4lPD5A3lj4LydW78=; b=rEroAk/k++XajFWqobmbb7gRIo7O4c6FYpelwjrkQEE037w4axscLVbQifOdi1oaAC5Rgc WpzO6m/h75AhLIJ8HRJRqeBVHs4cChNxZSNM/eupGGwAIUtn4wPCizFHrc5++hOUuem5sn tlgmTfKH+oh+wDZtwDwF2mlo6gwzVmvXX3csCWKJ+a05DzfWujyVoO11Hr2TjHVP0/LqtE xKSmJFcUN9gA6w4xb9DH1syRDhz1xn1YMjXbNAd26L6OLKG6oe/kDY/RQQAKMQla1h2jN8 9dcGliQ5RV9SV3xmyNkJsqd9mkMlHJdYjsZbd+St3rV1fPiHLHxRtH6P94RSSg== From: Adolf Belka <adolf.belka@ipfire.org> To: development@lists.ipfire.org Subject: [PATCH] gdbm: Update to version 1.23 Date: Tue, 15 Feb 2022 10:36:18 +0100 Message-Id: <20220215093618.188149-1-adolf.belka@ipfire.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk <development.lists.ipfire.org> List-Unsubscribe: <https://lists.ipfire.org/mailman/options/development>, <mailto:development-request@lists.ipfire.org?subject=unsubscribe> List-Archive: <http://lists.ipfire.org/pipermail/development/> List-Post: <mailto:development@lists.ipfire.org> List-Help: <mailto:development-request@lists.ipfire.org?subject=help> List-Subscribe: <https://lists.ipfire.org/mailman/listinfo/development>, <mailto:development-request@lists.ipfire.org?subject=subscribe> Errors-To: development-bounces@lists.ipfire.org Sender: "Development" <development-bounces@lists.ipfire.org> |
Series |
gdbm: Update to version 1.23
|
|
Commit Message
Adolf Belka
Feb. 15, 2022, 9:36 a.m. UTC
- Update from 1.20 to 1.23
- Update of rootfile not required
- Changelog
Version 1.23, 2022-02-04
* Bucket cache switched from balanced tree to hash table
Change suggested by Terence Kelly.
* Speed up flushing the changed buckets on disk
* New option codes for gdbm_setopt
** GDBM_GETDBFORMAT
Return the database format.
** GDBM_GETDIRDEPTH
Return the directory depth, i.e. the number of initial (most significant)
bits in hash value that are interpreted as index to the directory.
** GDBM_GETBUCKETSIZE
Return maximum number of keys per bucket.
** GDBM_GETCACHEAUTO
Return the status of the automatic cache adjustment.
** GDBM_SETCACHEAUTO
Enable or disable automatic cache adjustment.
Version 1.22, 2021-10-19
* Fix file header validation
* Fix key verification in sequential access
* Fix testing with DejaGNU 1.6.3
* Fix stack overflow in print_usage
* Fix a leak of avail entry on pushing a new avail block
The leak would occur if the original avail table had odd number of entries.
* New gdbmtool variables: errorexit, errormask, trace, timing
"Errorexit" and "errormask" control which GDBM errors would cause the
program termination and emitting a diagnostic message,
correspondingly. Both variables are comma-delimited lists of error
codes.
The "trace" variable enables tracing of the gdbmtool commands.
The "timing" variable, when set, instructs gdbmtool to print time
spent in each command it runs.
* New gdbmtool options: -t (--trace), and -T (--timing)
Version 1.21, 2021-09-02
* Crash tolerance
By default it is possible for an abrupt crash (e.g., power failure,
OS kernel panic, or application process crash) to corrupt the gdbm
database file. A new Linux-only mechanism enables applications to
recover the database state corresponding to the most recent
successful gdbm_sync() call before the crash. See the chapter 17
"Crash Tolerance" in the GDBM manual.
* New database file format: numsync
The new "numsync" database format is designed to better support
crash tolerance. To create a database in numsync format, the gdbm_open
(or gdbm_fd_open) function must be given the GDBM_NEWDB|GDBM_NUMSYNC
flags. The GDBM_NUMSYNC flag also takes effect when used together
with GDBM_WRCREAT, provided that the new file is created.
New function gdbm_convert() is provided for converting the databases
from standard GDBM format to numsync and vice versa.
The gdbmtool tool can also be used for converting databases between
these two formats.
* Changes in gdbmtool
** Fix string output in non-ASCII encodings
Printable multi-byte sequences are correctly represented on output.
This also fixes octal representation of unprintable characters.
** The filename variable
This variable supplies the name of database file for use in "open"
command, if the latter is called without arguments. If "open" is
called with the file name argument, the "filename" variable is
initialized to this value.
** The fd variable
If set, its value must be an open file descriptor referring to a
GDBM database file. The "open" command will use gdbm_fd_open
function to use this file. Upon closing the database, this
descriptor will be closed and the variable will be unset.
The file descriptor to use can also be supplied using the
-d (--db-descriptor) command line option.
** The format variable
Defines the format in which new databases will be created. Allowed
values are: "standard" (default) and "numsync".
** New commands: upgrade and downgrade
The "upgrade" command converts current database to the numsync
(extended) format. The "downgrade" command converts current database
to the standard format.
** New command: snapshot
The "snapshot" command is part of the new crash tolerance support.
Given the names of two snapshot files, it analyzes them and selects
the one to be used for database recovery. See the GDBM manual,
section 17.5 "Manual crash recovery" for a detailed discussion of its
use.
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
lfs/gdbm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
Reviewed-by: Peter Müller <peter.mueller@ipfire.org> > - Update from 1.20 to 1.23 > - Update of rootfile not required > - Changelog > Version 1.23, 2022-02-04 > * Bucket cache switched from balanced tree to hash table > Change suggested by Terence Kelly. > * Speed up flushing the changed buckets on disk > * New option codes for gdbm_setopt > ** GDBM_GETDBFORMAT > Return the database format. > ** GDBM_GETDIRDEPTH > Return the directory depth, i.e. the number of initial (most significant) > bits in hash value that are interpreted as index to the directory. > ** GDBM_GETBUCKETSIZE > Return maximum number of keys per bucket. > ** GDBM_GETCACHEAUTO > Return the status of the automatic cache adjustment. > ** GDBM_SETCACHEAUTO > Enable or disable automatic cache adjustment. > Version 1.22, 2021-10-19 > * Fix file header validation > * Fix key verification in sequential access > * Fix testing with DejaGNU 1.6.3 > * Fix stack overflow in print_usage > * Fix a leak of avail entry on pushing a new avail block > The leak would occur if the original avail table had odd number of entries. > * New gdbmtool variables: errorexit, errormask, trace, timing > "Errorexit" and "errormask" control which GDBM errors would cause the > program termination and emitting a diagnostic message, > correspondingly. Both variables are comma-delimited lists of error > codes. > The "trace" variable enables tracing of the gdbmtool commands. > The "timing" variable, when set, instructs gdbmtool to print time > spent in each command it runs. > * New gdbmtool options: -t (--trace), and -T (--timing) > Version 1.21, 2021-09-02 > * Crash tolerance > By default it is possible for an abrupt crash (e.g., power failure, > OS kernel panic, or application process crash) to corrupt the gdbm > database file. A new Linux-only mechanism enables applications to > recover the database state corresponding to the most recent > successful gdbm_sync() call before the crash. See the chapter 17 > "Crash Tolerance" in the GDBM manual. > * New database file format: numsync > The new "numsync" database format is designed to better support > crash tolerance. To create a database in numsync format, the gdbm_open > (or gdbm_fd_open) function must be given the GDBM_NEWDB|GDBM_NUMSYNC > flags. The GDBM_NUMSYNC flag also takes effect when used together > with GDBM_WRCREAT, provided that the new file is created. > New function gdbm_convert() is provided for converting the databases > from standard GDBM format to numsync and vice versa. > The gdbmtool tool can also be used for converting databases between > these two formats. > * Changes in gdbmtool > ** Fix string output in non-ASCII encodings > Printable multi-byte sequences are correctly represented on output. > This also fixes octal representation of unprintable characters. > ** The filename variable > This variable supplies the name of database file for use in "open" > command, if the latter is called without arguments. If "open" is > called with the file name argument, the "filename" variable is > initialized to this value. > ** The fd variable > If set, its value must be an open file descriptor referring to a > GDBM database file. The "open" command will use gdbm_fd_open > function to use this file. Upon closing the database, this > descriptor will be closed and the variable will be unset. > The file descriptor to use can also be supplied using the > -d (--db-descriptor) command line option. > ** The format variable > Defines the format in which new databases will be created. Allowed > values are: "standard" (default) and "numsync". > ** New commands: upgrade and downgrade > The "upgrade" command converts current database to the numsync > (extended) format. The "downgrade" command converts current database > to the standard format. > ** New command: snapshot > The "snapshot" command is part of the new crash tolerance support. > Given the names of two snapshot files, it analyzes them and selects > the one to be used for database recovery. See the GDBM manual, > section 17.5 "Manual crash recovery" for a detailed discussion of its > use. > > Signed-off-by: Adolf Belka <adolf.belka@ipfire.org> > --- > lfs/gdbm | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lfs/gdbm b/lfs/gdbm > index 6f96d2f3c..fa1b2d860 100644 > --- a/lfs/gdbm > +++ b/lfs/gdbm > @@ -24,7 +24,7 @@ > > include Config > > -VER = 1.20 > +VER = 1.23 > > THISAPP = gdbm-$(VER) > DL_FILE = $(THISAPP).tar.gz > @@ -40,7 +40,7 @@ objects = $(DL_FILE) > > $(DL_FILE) = $(DL_FROM)/$(DL_FILE) > > -$(DL_FILE)_MD5 = 006c19b8b60828fd6916a16f3496bd3c > +$(DL_FILE)_MD5 = 8551961e36bf8c70b7500d255d3658ec > > install : $(TARGET) >
diff --git a/lfs/gdbm b/lfs/gdbm index 6f96d2f3c..fa1b2d860 100644 --- a/lfs/gdbm +++ b/lfs/gdbm @@ -24,7 +24,7 @@ include Config -VER = 1.20 +VER = 1.23 THISAPP = gdbm-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 006c19b8b60828fd6916a16f3496bd3c +$(DL_FILE)_MD5 = 8551961e36bf8c70b7500d255d3658ec install : $(TARGET)