func aggregateVolumeStatus(ctx transaction.TxnCtx, nodes []uuid.UUID) (*volume.VolStatus, error) { var brickStatuses []brick.Brickstatus // Loop over each node on which txn was run. // Fetch brick statuses stored by each node in transaction context. for _, node := range nodes { var tmp []brick.Brickstatus err := ctx.GetNodeResult(node, brickStatusTxnKey, &tmp) if err != nil { return nil, goerrors.New("aggregateVolumeStatus: Could not fetch results from transaction context.") } brickStatuses = append(brickStatuses, tmp...) } v := &volume.VolStatus{Brickstatuses: brickStatuses} return v, nil }