diff options
author | smh <smh@FreeBSD.org> | 2014-05-03 02:30:01 +0000 |
---|---|---|
committer | smh <smh@FreeBSD.org> | 2014-05-03 02:30:01 +0000 |
commit | 90763c16795eb165aaad92ff07db5b5a991b4456 (patch) | |
tree | ae08d6a22b03f1005bad1b5208b4017e0ca3a1a1 | |
parent | 2c816214c0b338da708c8e9dbb63c7fb5760f5f5 (diff) | |
download | FreeBSD-src-90763c16795eb165aaad92ff07db5b5a991b4456.zip FreeBSD-src-90763c16795eb165aaad92ff07db5b5a991b4456.tar.gz |
Don't treat TRIM requests returning ENOTSUP as an unexpected error.
MFC after: 1 month
X-MFC-With: r265152
-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 d0940bf..01946fb 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c @@ -2674,7 +2674,10 @@ zio_vdev_io_done(zio_t **ziop) 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; |