freebsd-dev/module/zfs
Brian Behlendorf a69052be7f Initial zio delay timing
While there is no right maximum timeout for a disk IO we can start
laying the ground work to measure how long they do take in practice.
This change simply measures the IO time and if it exceeds 30s an
event is posted for 'zpool events'.

This value was carefully selected because for sd devices it implies
that at least one timeout (SD_TIMEOUT) has occured.  Unfortunately,
even with FAILFAST set we may retry and request and not get an
error.  This behavior is strongly dependant on the device driver
and how it is hooked in to the scsi error handling stack.  However
by setting the limit at 30s we can log the event even if no error
was returned.

Slightly longer term we can start recording these delays perhaps
as a simple power-of-two histrogram.  This histogram can then be
reported as part of the 'zpool status' command when given an command
line option.

None of this code changes the internal behavior of ZFS.  Currently
it is simply for reporting excessively long delays.
2010-10-12 14:55:02 -07:00
..
arc.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
bplist.c
bpobj.c
dbuf.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
ddt_zap.c
ddt.c Add linux kernel memory support 2010-08-31 13:41:57 -07:00
dmu_diff.c
dmu_object.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
dmu_objset.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
dmu_send.c Add linux kernel memory support 2010-08-31 13:41:57 -07:00
dmu_traverse.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
dmu_tx.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
dmu_zfetch.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
dmu.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
dnode_sync.c Fix dbuf eviction assertion 2010-08-31 08:38:45 -07:00
dnode.c Quiet down very frequent large allocation warning in ZFS. 2010-09-17 16:24:15 -07:00
dsl_dataset.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
dsl_deadlist.c
dsl_deleg.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
dsl_dir.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
dsl_pool.c
dsl_prop.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
dsl_scan.c Suppress large kmem_alloc() warning. 2010-10-12 14:54:59 -07:00
dsl_synctask.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
fm.c Add linux events 2010-08-31 13:41:36 -07:00
gzip.c Fix zmod.h usage in userspace 2010-08-31 08:38:46 -07:00
lzjb.c Fix stack lzjb 2010-08-31 08:38:49 -07:00
Makefile.in Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
metaslab.c Fix metaslab 2010-08-31 08:38:45 -07:00
refcount.c
rrwlock.c Add linux kernel disk support 2010-08-31 13:41:57 -07:00
sa.c Add linux user disk support 2010-08-31 13:42:00 -07:00
sha256.c Add linux sha2 support 2010-08-31 13:41:59 -07:00
spa_boot.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
spa_config.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
spa_errlog.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
spa_history.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
spa_misc.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
spa.c Add linux spa thread support 2010-08-31 13:41:59 -07:00
space_map.c
txg.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
uberblock.c
unique.c
vdev_cache.c Fix stack vdev_cache_read() 2010-08-31 08:38:49 -07:00
vdev_disk.c Initial zio delay timing 2010-10-12 14:55:02 -07:00
vdev_file.c
vdev_label.c
vdev_mirror.c
vdev_missing.c
vdev_queue.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
vdev_raidz.c
vdev_root.c
vdev.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
zap_leaf.c
zap_micro.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
zap.c Fix rw_init() usage 2010-08-31 08:38:46 -07:00
zfs_acl.c Add linux kernel disk support 2010-08-31 13:41:57 -07:00
zfs_byteswap.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
zfs_ctldir.c Add linux kernel disk support 2010-08-31 13:41:57 -07:00
zfs_debug.c
zfs_dir.c Add linux kernel disk support 2010-08-31 13:41:57 -07:00
zfs_fm.c Initial zio delay timing 2010-10-12 14:55:02 -07:00
zfs_fuid.c Add linux kernel disk support 2010-08-31 13:41:57 -07:00
zfs_ioctl.c Fix zfsdev_compat_ioctl() case 2010-09-01 16:00:15 -07:00
zfs_log.c Add linux kernel disk support 2010-08-31 13:41:57 -07:00
zfs_onexit.c Add linux kernel device support 2010-08-31 13:41:50 -07:00
zfs_replay.c Add linux kernel disk support 2010-08-31 13:41:57 -07:00
zfs_rlock.c
zfs_sa.c Add linux user disk support 2010-08-31 13:42:00 -07:00
zfs_vfsops.c Register the space accounting callback even when we don't have the ZPL. 2010-10-04 11:34:39 -07:00
zfs_vnops.c Add linux kernel disk support 2010-08-31 13:41:57 -07:00
zfs_znode.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
zil.c Add linux kernel memory support 2010-08-31 13:41:57 -07:00
zio_checksum.c
zio_compress.c
zio_inject.c
zio.c Initial zio delay timing 2010-10-12 14:55:02 -07:00
zle.c
zrlock.c Export ZFS symbols needed by Lustre. 2010-09-17 16:24:15 -07:00
zvol.c Add linux kernel disk support 2010-08-31 13:41:57 -07:00