diff options
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 76041b614758..352c48627381 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -135,12 +135,13 @@ struct inodes_stat_t { | |||
135 | * immediately after submission. The write equivalent | 135 | * immediately after submission. The write equivalent |
136 | * of READ_SYNC. | 136 | * of READ_SYNC. |
137 | * WRITE_ODIRECT_PLUG Special case write for O_DIRECT only. | 137 | * WRITE_ODIRECT_PLUG Special case write for O_DIRECT only. |
138 | * WRITE_BARRIER Like WRITE_SYNC, but tells the block layer that all | 138 | * WRITE_BARRIER DEPRECATED. Always fails. Use FLUSH/FUA instead. |
139 | * previously submitted writes must be safely on storage | 139 | * WRITE_FLUSH Like WRITE_SYNC but with preceding cache flush. |
140 | * before this one is started. Also guarantees that when | 140 | * WRITE_FUA Like WRITE_SYNC but data is guaranteed to be on |
141 | * this write is complete, it itself is also safely on | 141 | * non-volatile media on completion. |
142 | * storage. Prevents reordering of writes on both sides | 142 | * WRITE_FLUSH_FUA Combination of WRITE_FLUSH and FUA. The IO is preceded |
143 | * of this IO. | 143 | * by a cache flush and data is guaranteed to be on |
144 | * non-volatile media on completion. | ||
144 | * | 145 | * |
145 | */ | 146 | */ |
146 | #define RW_MASK REQ_WRITE | 147 | #define RW_MASK REQ_WRITE |
@@ -158,6 +159,12 @@ struct inodes_stat_t { | |||
158 | #define WRITE_META (WRITE | REQ_META) | 159 | #define WRITE_META (WRITE | REQ_META) |
159 | #define WRITE_BARRIER (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_UNPLUG | \ | 160 | #define WRITE_BARRIER (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_UNPLUG | \ |
160 | REQ_HARDBARRIER) | 161 | REQ_HARDBARRIER) |
162 | #define WRITE_FLUSH (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_UNPLUG | \ | ||
163 | REQ_FLUSH) | ||
164 | #define WRITE_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_UNPLUG | \ | ||
165 | REQ_FUA) | ||
166 | #define WRITE_FLUSH_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_UNPLUG | \ | ||
167 | REQ_FLUSH | REQ_FUA) | ||
161 | 168 | ||
162 | /* | 169 | /* |
163 | * These aren't really reads or writes, they pass down information about | 170 | * These aren't really reads or writes, they pass down information about |