]> git.ipfire.org Git - thirdparty/bind9.git/commit
improve calculation of database transfer size
authorEvan Hunt <each@isc.org>
Sat, 22 Feb 2020 08:37:05 +0000 (00:37 -0800)
committerEvan Hunt <each@isc.org>
Fri, 6 Mar 2020 01:20:16 +0000 (17:20 -0800)
commit98b55eb44280e9204b851540f9113de73596f1a6
tree1c5bb66d001e8c3b9bc1a302ccf17b39e56d4f3f
parent52a31a988321ef3cb5a9911bd6e18fdb94efad33
improve calculation of database transfer size

- change name of 'bytes' to 'xfrsize' in dns_db_getsize() parameter list
  and related variables; this is a more accurate representation of what
  the function is doing
- change the size calculations in dns_db_getsize() to more accurately
  represent the space needed for a *XFR message or journal file to contain
  the data in the database. previously we returned the sizes of all
  rdataslabs, including header overhead and offset tables, which
  resulted in the database size being reported as much larger than the
  equivalent *XFR or journal.
- map files caused a particular problem here: the fullname can't be
  determined from the node while a file is being deserialized, because
  the uppernode pointers aren't set yet. so we store "full name length"
  in the dns_rbtnode structure while serializing, and clear it after
  deserialization is complete.
lib/dns/include/dns/db.h
lib/dns/include/dns/rbt.h
lib/dns/include/dns/rdataslab.h
lib/dns/mapapi
lib/dns/rbt.c
lib/dns/rbtdb.c
lib/dns/rdataslab.c
lib/dns/tests/rbt_test.c
lib/dns/win32/libdns.def.in