services/mounttable/btmtd: Fix server counters

When deleting a node, we need to include the number of expired servers
in the counter increment.

Change-Id: Ibbd514266dd9f809f6fe01c2e1cab55a6778336a
diff --git a/services/mounttable/btmtd/internal/node.go b/services/mounttable/btmtd/internal/node.go
index efd3ae9..3dc9a64 100644
--- a/services/mounttable/btmtd/internal/node.go
+++ b/services/mounttable/btmtd/internal/node.go
@@ -323,8 +323,13 @@
 	if err := n.bt.apply(longCtx, rowKey(parent), mut); err != nil {
 		return err
 	}
-	if err := incrementCreatorServerCount(ctx, n.bt, n.creator, -int64(len(n.servers))); err != nil {
-		return err
+	// Adjust the server count for the node creator. Since delete() can be
+	// called directly without gc(), we need to include the expired servers
+	// in the counter adjustment.
+	if delta := -int64(len(n.servers) + len(n.expiredServers)); delta != 0 {
+		if err := incrementCreatorServerCount(ctx, n.bt, n.creator, delta); err != nil {
+			return err
+		}
 	}
 	return incrementCreatorNodeCount(ctx, n.bt, n.creator, -1)
 }