diff options
author | smh <smh@FreeBSD.org> | 2014-09-16 17:47:13 +0000 |
---|---|---|
committer | smh <smh@FreeBSD.org> | 2014-09-16 17:47:13 +0000 |
commit | a60923d3099b894f21a7bdd59eeebcce279b9493 (patch) | |
tree | 3ca84f8c7f9eae0ea2de201b9c10d54e6e5eda4a /sys/cddl | |
parent | f7baec35a31fd33585a0d97ca1c8166a3a9873b8 (diff) | |
download | FreeBSD-src-a60923d3099b894f21a7bdd59eeebcce279b9493.zip FreeBSD-src-a60923d3099b894f21a7bdd59eeebcce279b9493.tar.gz |
MFC 265253:
Don't treat TRIM requests returning ENOTSUP as an unexpected error
Approved by: re (gjb)
Sponsored by: Multiplay
Diffstat (limited to 'sys/cddl')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c index 4655d8c..93d8b9f 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c @@ -2738,7 +2738,10 @@ zio_vdev_io_done(zio_t *zio) zio->io_error = zio_handle_label_injection(zio, EIO); if (zio->io_error) { - if (!vdev_accessible(vd, zio)) { + if (zio->io_error == ENOTSUP && + zio->io_type == ZIO_TYPE_FREE) { + /* Not all devices support TRIM. */ + } else if (!vdev_accessible(vd, zio)) { zio->io_error = SET_ERROR(ENXIO); } else { unexpected_error = B_TRUE; |