zio.c (321529) | zio.c (321532) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 3288 unchanged lines hidden (view full) --- 3297 * If we can't write to an interior vdev (mirror or RAID-Z), 3298 * set vdev_cant_write so that we stop trying to allocate from it. 3299 */ 3300 if (zio->io_error == ENXIO && zio->io_type == ZIO_TYPE_WRITE && 3301 vd != NULL && !vd->vdev_ops->vdev_op_leaf) { 3302 vd->vdev_cant_write = B_TRUE; 3303 } 3304 | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 3288 unchanged lines hidden (view full) --- 3297 * If we can't write to an interior vdev (mirror or RAID-Z), 3298 * set vdev_cant_write so that we stop trying to allocate from it. 3299 */ 3300 if (zio->io_error == ENXIO && zio->io_type == ZIO_TYPE_WRITE && 3301 vd != NULL && !vd->vdev_ops->vdev_op_leaf) { 3302 vd->vdev_cant_write = B_TRUE; 3303 } 3304 |
3305 /* 3306 * If a cache flush returns ENOTSUP or ENOTTY, we know that no future 3307 * attempts will ever succeed. In this case we set a persistent bit so 3308 * that we don't bother with it in the future. 3309 */ 3310 if ((zio->io_error == ENOTSUP || zio->io_error == ENOTTY) && 3311 zio->io_type == ZIO_TYPE_IOCTL && 3312 zio->io_cmd == DKIOCFLUSHWRITECACHE && vd != NULL) 3313 vd->vdev_nowritecache = B_TRUE; 3314 |
|
3305 if (zio->io_error) 3306 zio->io_pipeline = ZIO_INTERLOCK_PIPELINE; 3307 3308 if (vd != NULL && vd->vdev_ops->vdev_op_leaf && 3309 zio->io_physdone != NULL) { 3310 ASSERT(!(zio->io_flags & ZIO_FLAG_DELEGATED)); 3311 ASSERT(zio->io_child_type == ZIO_CHILD_VDEV); 3312 zio->io_physdone(zio->io_logical); --- 737 unchanged lines hidden --- | 3315 if (zio->io_error) 3316 zio->io_pipeline = ZIO_INTERLOCK_PIPELINE; 3317 3318 if (vd != NULL && vd->vdev_ops->vdev_op_leaf && 3319 zio->io_physdone != NULL) { 3320 ASSERT(!(zio->io_flags & ZIO_FLAG_DELEGATED)); 3321 ASSERT(zio->io_child_type == ZIO_CHILD_VDEV); 3322 zio->io_physdone(zio->io_logical); --- 737 unchanged lines hidden --- |