diff --git a/src/knot/server/zones.c b/src/knot/server/zones.c index 208cafba853933d91d422b3644e0f220e55701b3..86b09dc3abca06cbcca23c05ec03238cd2deaa67 100644 --- a/src/knot/server/zones.c +++ b/src/knot/server/zones.c @@ -3353,7 +3353,8 @@ int zones_store_and_apply_chgsets(knot_changesets_t *chs, ret = zones_store_changesets_begin_and_store(zone, chs, &transaction); if (ret != KNOT_EOK) { log_zone_error("%s Failed to serialize and store " - "changesets.\n", msgpref); + "changesets: %s.\n", msgpref, + knot_strerror(ret)); /* Free changesets, but not the data. */ knot_changesets_free(&chs); return ret; diff --git a/src/libknot/updates/changesets.c b/src/libknot/updates/changesets.c index b2cf4b7ebeb9af3b147e661c6502a0cbcdab1d71..afd0e9c54bfee1b35a77d81e1d2d338b656f36c8 100644 --- a/src/libknot/updates/changesets.c +++ b/src/libknot/updates/changesets.c @@ -285,8 +285,8 @@ bool knot_changeset_is_empty(const knot_changeset_t *changeset) return true; } - return (changeset->soa_from == NULL && changeset->soa_to == NULL) && - (EMPTY_LIST(changeset->add) && EMPTY_LIST(changeset->remove)); + return (changeset->soa_to == NULL && + EMPTY_LIST(changeset->add) && EMPTY_LIST(changeset->remove)); } size_t knot_changeset_size(const knot_changeset_t *changeset) diff --git a/src/libknot/updates/changesets.h b/src/libknot/updates/changesets.h index 4c4ea314f06286dc8d8c9701b3bf44d5c0c863de..a730d265ba2a8195826f0a64b913aa436f799b49 100644 --- a/src/libknot/updates/changesets.h +++ b/src/libknot/updates/changesets.h @@ -221,6 +221,9 @@ void knot_changeset_add_soa(knot_changeset_t *changeset, knot_rrset_t *soa, * * \param changeset Changeset to be checked. * + * Changeset is considered empty if it has no RRs in REMOVE and ADD sections and + * final SOA (soa_to) is not set. + * * \retval true if changeset is empty. * \retval false if changeset is not empty. */