xref: /freebsd/sys/contrib/openzfs/include/sys/zio_priority.h (revision e2df9bb44109577475aeb186e7186ac040f9bde1)
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 /*
26  * NOTE: PLEASE UPDATE THE ENUM STRINGS IN zfs_valstr.c IF YOU ADD ANOTHER
27  * VALUE.
28  */
29 typedef enum zio_priority {
30 	ZIO_PRIORITY_SYNC_READ,
31 	ZIO_PRIORITY_SYNC_WRITE,	/* ZIL */
32 	ZIO_PRIORITY_ASYNC_READ,	/* prefetch */
33 	ZIO_PRIORITY_ASYNC_WRITE,	/* spa_sync() */
34 	ZIO_PRIORITY_SCRUB,		/* asynchronous scrub/resilver reads */
35 	ZIO_PRIORITY_REMOVAL,		/* reads/writes for vdev removal */
36 	ZIO_PRIORITY_INITIALIZING,	/* initializing I/O */
37 	ZIO_PRIORITY_TRIM,		/* trim I/O (discard) */
38 	ZIO_PRIORITY_REBUILD,		/* reads/writes for vdev rebuild */
39 	ZIO_PRIORITY_NUM_QUEUEABLE,
40 	ZIO_PRIORITY_NOW,		/* non-queued i/os (e.g. free) */
41 } zio_priority_t;
42 
43 #ifdef	__cplusplus
44 }
45 #endif
46 
47 #endif	/* _ZIO_PRIORITY_H */
48