a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie/*
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie * CDDL HEADER START
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie *
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie * This file and its contents are supplied under the terms of the
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie * Common Development and Distribution License ("CDDL"), version 1.0.
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie * You may only use this file in accordance with the terms of version
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie * 1.0 of the CDDL.
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie *
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie * A full copy of the text of the CDDL should have accompanied this
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie * source. A copy of the CDDL is also available via the Internet at
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie * http://www.illumos.org/license/CDDL.
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie *
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie * CDDL HEADER END
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie */
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie/*
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie * Copyright (c) 2014 by Delphix. All rights reserved.
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie */
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie#ifndef _ZIO_PRIORITY_H
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie#define _ZIO_PRIORITY_H
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie#ifdef __cplusplus
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelieextern "C" {
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie#endif
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelietypedef enum zio_priority {
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie ZIO_PRIORITY_SYNC_READ,
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie ZIO_PRIORITY_SYNC_WRITE, /* ZIL */
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie ZIO_PRIORITY_ASYNC_READ, /* prefetch */
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie ZIO_PRIORITY_ASYNC_WRITE, /* spa_sync() */
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie ZIO_PRIORITY_SCRUB, /* asynchronous scrub/resilver reads */
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie ZIO_PRIORITY_NUM_QUEUEABLE,
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie ZIO_PRIORITY_NOW /* non-queued i/os (e.g. free) */
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie} zio_priority_t;
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie#ifdef __cplusplus
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie}
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie#endif
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie
a2cdcdd260232b58202b11a9bfc0103c9449ed52Paul Dagnelie#endif /* _ZIO_PRIORITY_H */