mirror_zfs/module/zfs
Brian Behlendorf 2959d94a0a Add FAILFAST support
ZFS works best when it is notified as soon as possible when a device
failure occurs.  This allows it to immediately start any recovery
actions which may be needed.  In theory Linux supports a flag which
can be set on bio's called FAILFAST which provides this quick
notification by disabling the retry logic in the lower scsi layers.

That's the theory at least.  In practice is turns out that while the
flag exists you oddly have to set it with the BIO_RW_AHEAD flag.
And even when it's set it you may get retries in the low level
drivers decides that's the right behavior, or if you don't get the
right error codes reported to the scsi midlayer.

Unfortunately, without additional kernels patchs there's not much
which can be done to improve this.  Basically, this just means that
it may take 2-3 minutes before a ZFS is notified properly that a
device has failed.  This can be improved and I suspect I'll be
submitting patches upstream to handle this.
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 Fix gcc missing parenthesis warnings 2010-08-31 08:38:35 -07:00
bpobj.c Update to onnv_147 2010-08-26 14:24:34 -07:00
dbuf.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
ddt_zap.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
ddt.c Add linux kernel memory support 2010-08-31 13:41:57 -07:00
dmu_diff.c Update to onnv_147 2010-08-26 14:24:34 -07:00
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 Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
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 Fix gcc missing parenthesis warnings 2010-08-31 08:38:35 -07:00
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 Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
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 Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
txg.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
uberblock.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
unique.c Fix gcc ident pragma warnings 2010-08-27 15:34:02 -07:00
vdev_cache.c Fix stack vdev_cache_read() 2010-08-31 08:38:49 -07:00
vdev_disk.c Add FAILFAST support 2010-10-12 14:55:02 -07:00
vdev_file.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
vdev_label.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
vdev_mirror.c Fix gcc c90 compliance warnings 2010-08-27 15:28:32 -07:00
vdev_missing.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
vdev_queue.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
vdev_raidz.c Fix variables named current 2010-08-31 08:38:44 -07:00
vdev_root.c Fix gcc c90 compliance warnings 2010-08-27 15:28:32 -07:00
vdev.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
zap_leaf.c Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
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 Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zfs_dir.c Add linux kernel disk support 2010-08-31 13:41:57 -07:00
zfs_fm.c Generate zevents for speculative and soft errors 2010-10-12 14:55:00 -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 Fix gcc uninitialized variable warnings 2010-08-31 08:38:43 -07:00
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 Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zio_compress.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
zio_inject.c Update to onnv_147 2010-08-26 14:24:34 -07:00
zio.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
zle.c Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
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