diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c index 3e3eb47326..7ffe21bb52 100644 --- a/tools/xenstore/xenstored_transaction.c +++ b/tools/xenstore/xenstored_transaction.c @@ -418,7 +418,13 @@ static int finalize_transaction(struct connection *conn, true); talloc_free(data.dptr); } else { - ret = do_tdb_delete(conn, &key, NULL); + /* + * A node having been created and later deleted + * in this transaction will have no generation + * information stored. + */ + ret = (i->generation == NO_GENERATION) + ? 0 : do_tdb_delete(conn, &key, NULL); } if (ret) goto err;