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