+/*
+ * ba_flags (Buffer Attribute flags)
+ * Some of these may be in-use only on embedded devices.
+ */
+#define BA_RAW_ENCRYPTED_IO 0x00000001
+#define BA_THROTTLED_IO 0x00000002
+#define BA_DELAYIDLESLEEP 0x00000004 /* Process is marked to delay idle sleep on disk IO */
+#define BA_NOCACHE 0x00000008
+#define BA_META 0x00000010
+#define BA_GREEDY_MODE 0x00000020 /* High speed writes that consume more storage */
+#define BA_QUICK_COMPLETE 0x00000040 /* Request quick completion at expense of storage efficiency */
+#define BA_PASSIVE 0x00000080
+
+/*
+ * Note: IO_TIERs consume 0x0100, 0x0200, 0x0400, 0x0800
+ * These are now in-use by the I/O tiering system.
+ */
+#define BA_IO_TIER_MASK 0x00000f00
+#define BA_IO_TIER_SHIFT 8
+
+#define BA_ISOCHRONOUS 0x00001000 /* device specific isochronous throughput to media */
+
+
+#define GET_BUFATTR_IO_TIER(bap) ((bap->ba_flags & BA_IO_TIER_MASK) >> BA_IO_TIER_SHIFT)
+#define SET_BUFATTR_IO_TIER(bap, tier) \
+do { \
+ (bap)->ba_flags &= (~BA_IO_TIER_MASK); \
+ (bap)->ba_flags |= (((tier) << BA_IO_TIER_SHIFT) & BA_IO_TIER_MASK); \
+} while(0)