[block] Only count completed ZX_OK block ops

Align the FTL and SDMMC block drivers with UFS and virtio-block so that
Inspect `block.<op>.count` and `block.<op>.bytes` properties only count
client-issued block operations that complete with `ZX_OK`:

- In FTL, only increment `op_stats->count` and `op_stats->bytes` when
  `status == ZX_OK`, and do not increment `block.flush.count` during
  internal 15-second idle background flushes (which still attribute
  their underlying NAND operations to `block.flush.issued_*`).
- In SDMMC, update `read_ops_`, `read_bytes_`, `write_ops_`,
  `write_bytes_`, `flush_ops_`, `trim_ops_`, and `trim_bytes_` after the
  operation succeeds (`ZX_OK`) rather than before execution.

Bug: 573185728
Test: fx test ftl-test sdmmc-block-test
Change-Id: If926f69a89479e0700fbb92c191b4d5ccf7640cf
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1903239
Presubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com <fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Martin Lindsay <mlindsay@google.com>
Commit-Queue: James Sullivan <jfsulliv@google.com>
4 files changed