* Use is subject to license terms.
*/
+/*
+ * Copyright (c) 2012, 2016 by Delphix. All rights reserved.
+ */
+
/*
* The 'missing' vdev is a special vdev type used only during import. It
* signifies a placeholder in the root vdev for some vdev that we know is
/* ARGSUSED */
static int
-vdev_missing_open(vdev_t *vd, uint64_t *psize, uint64_t *ashift)
+vdev_missing_open(vdev_t *vd, uint64_t *psize, uint64_t *max_psize,
+ uint64_t *ashift)
{
/*
* Really this should just fail. But then the root vdev will be in the
* will fail the GUID sum check before ever trying to open the pool.
*/
*psize = 0;
+ *max_psize = 0;
*ashift = 0;
return (0);
}
}
/* ARGSUSED */
-static int
+static void
vdev_missing_io_start(zio_t *zio)
{
- zio->io_error = ENOTSUP;
- return (ZIO_PIPELINE_CONTINUE);
+ zio->io_error = SET_ERROR(ENOTSUP);
+ zio_execute(zio);
}
/* ARGSUSED */
NULL,
NULL,
NULL,
+ NULL,
+ NULL,
+ NULL,
VDEV_TYPE_MISSING, /* name of this vdev type */
B_TRUE /* leaf vdev */
};
NULL,
NULL,
NULL,
+ NULL,
+ NULL,
+ NULL,
VDEV_TYPE_HOLE, /* name of this vdev type */
B_TRUE /* leaf vdev */
};