]> git.proxmox.com Git - mirror_zfs.git/commit - module/zfs/dbuf.c
Add visibility in to cached dbufs
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 3 Oct 2013 00:11:19 +0000 (17:11 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 25 Oct 2013 20:59:40 +0000 (13:59 -0700)
commite0b0ca983d6897bcddf05af2c0e5d01ff66f90db
treed6d3251e89a67f1a915f1a071313271e061af359
parent2d37239a28b8b2ddc0e8312093f8d8810c6351fa
Add visibility in to cached dbufs

Currently there is no mechanism to inspect which dbufs are being
cached by the system.  There are some coarse counters in arcstats
by they only give a rough idea of what's being cached.  This patch
aims to improve the current situation by adding a new dbufs kstat.

When read this new kstat will walk all cached dbufs linked in to
the dbuf_hash.  For each dbuf it will dump detailed information
about the buffer.  It will also dump additional information about
the referenced arc buffer and its related dnode.  This provides a
more complete view in to exactly what is being cached.

With this generic infrastructure in place utilities can be written
to post-process the data to understand exactly how the caching is
working.  For example, the data could be processed to show a list
of all cached dnodes and how much space they're consuming.  Or a
similar list could be generated based on dnode type.  Many other
ways to interpret the data exist based on what kinds of questions
you're trying to answer.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Prakash Surya <surya1@llnl.gov>
include/sys/arc.h
include/sys/dbuf.h
include/sys/dmu.h
lib/libzpool/Makefile.am
module/zfs/Makefile.in
module/zfs/arc.c
module/zfs/dbuf.c
module/zfs/dbuf_stats.c [new file with mode: 0644]
module/zfs/dmu.c