diff options
author | ek110237 <none@none> | 2008-04-30 12:37:56 -0700 |
---|---|---|
committer | ek110237 <none@none> | 2008-04-30 12:37:56 -0700 |
commit | 32b87932f3ef0887d873b7f6d2d1943799b2afc0 (patch) | |
tree | 36552efb65bff3a3764c5f7fa51596989cffd6bf /usr/src/uts/common/fs/zfs/zfs_fm.c | |
parent | bc79a93dc140394903e49da4c757f6d4fa1e95d3 (diff) | |
download | illumos-gate-32b87932f3ef0887d873b7f6d2d1943799b2afc0.tar.gz |
6616739 panic message ZFS: I/O failure (write on <unknown> is not very helpful
6623234 better FMA integration for 'failmode' property
6680971 blkbuf is leaked in zio_assess() on DEBUG bits for truly failed I/Os
6685865 vdev_disk_probe_io()/vdev_file_probe_io() dvd's setting is wrong
Diffstat (limited to 'usr/src/uts/common/fs/zfs/zfs_fm.c')
-rw-r--r-- | usr/src/uts/common/fs/zfs/zfs_fm.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/usr/src/uts/common/fs/zfs/zfs_fm.c b/usr/src/uts/common/fs/zfs/zfs_fm.c index 654178a57b..7d9cf5a159 100644 --- a/usr/src/uts/common/fs/zfs/zfs_fm.c +++ b/usr/src/uts/common/fs/zfs/zfs_fm.c @@ -48,7 +48,7 @@ * pool X * * If we are in a loading state, all errors are chained together by the same - * SPA-wide ENA. + * SPA-wide ENA (Error Numeric Association). * * For isolated I/O requests, we get the ENA from the zio_t. The propagation * gets very complicated due to RAID-Z, gang blocks, and vdev caching. We want @@ -197,6 +197,16 @@ zfs_ereport_post(const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio, FM_EREPORT_PAYLOAD_ZFS_POOL_CONTEXT, DATA_TYPE_INT32, spa->spa_load_state, NULL); + if (spa != NULL) { + fm_payload_set(ereport, FM_EREPORT_PAYLOAD_ZFS_POOL_FAILMODE, + DATA_TYPE_STRING, + spa_get_failmode(spa) == ZIO_FAILURE_MODE_WAIT ? + FM_EREPORT_FAILMODE_WAIT : + spa_get_failmode(spa) == ZIO_FAILURE_MODE_CONTINUE ? + FM_EREPORT_FAILMODE_CONTINUE : FM_EREPORT_FAILMODE_PANIC, + NULL); + } + if (vd != NULL) { vdev_t *pvd = vd->vdev_parent; |