1 /*
2  * CDDL HEADER START
3  *
4  * This file and its contents are supplied under the terms of the
5  * Common Development and Distribution License ("CDDL"), version 1.0.
6  * You may only use this file in accordance with the terms of version
7  * 1.0 of the CDDL.
8  *
9  * A full copy of the text of the CDDL should have accompanied this
10  * source.  A copy of the CDDL is also available via the Internet at
11  * http://www.illumos.org/license/CDDL.
12  *
13  * CDDL HEADER END
14  */
15 /*
16  * Copyright (c) 2014, 2016 by Delphix. All rights reserved.
17  */
18 #ifndef	_ZIO_PRIORITY_H
19 #define	_ZIO_PRIORITY_H
20 
21 #ifdef	__cplusplus
22 extern "C" {
23 #endif
24 
25 typedef enum zio_priority {
26 	ZIO_PRIORITY_SYNC_READ,
27 	ZIO_PRIORITY_SYNC_WRITE,	/* ZIL */
28 	ZIO_PRIORITY_ASYNC_READ,	/* prefetch */
29 	ZIO_PRIORITY_ASYNC_WRITE,	/* spa_sync() */
30 	ZIO_PRIORITY_SCRUB,		/* asynchronous scrub/resilver reads */
31 	ZIO_PRIORITY_REMOVAL,		/* reads/writes for vdev removal */
32 	ZIO_PRIORITY_INITIALIZING,	/* initializing I/O */
33 	ZIO_PRIORITY_TRIM,		/* trim I/O (discard) */
34 	ZIO_PRIORITY_NUM_QUEUEABLE,
35 
36 	ZIO_PRIORITY_NOW		/* non-queued i/os (e.g. free) */
37 } zio_priority_t;
38 
39 #ifdef	__cplusplus
40 }
41 #endif
42 
43 #endif	/* _ZIO_PRIORITY_H */
44