Don't count embedded bps in read stats

Currently, ZFS tracks statistics about calls to arc_read()
via the /proc/spl/kstat/zfs/<pool>/reads file for debugging.
Unfortunately, this file currently counts embedded bps as
disk reads since they are technically processed by the ZIO
layer. This pollutes the log since the ARC will never cache
embedded bps. This patch  corrects this issue by preventing
the logging of embedded bp reads.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Closes #7334
This commit is contained in:
Tom Caputi 2018-03-24 00:35:19 -04:00 committed by Brian Behlendorf
parent 387b6856d6
commit 157ef7f6a5

View File

@ -6346,6 +6346,8 @@ arc_read(zio_t *pio, spa_t *spa, const blkptr_t *bp,
}
out:
/* embedded bps don't actually go to disk */
if (!BP_IS_EMBEDDED(bp))
spa_read_history_add(spa, zb, *arc_flags);
return (rc);
}