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