fs.h (7eaceaccab5f40bbfda044629a6298616aeaed50) fs.h (721a9602e6607417c6bc15b18e97a2f35266c690)
1#ifndef _LINUX_FS_H
2#define _LINUX_FS_H
3
4/*
5 * This file has definitions for some important file table
6 * structures etc.
7 */
8

--- 121 unchanged lines hidden (view full) ---

130 * READ A normal read operation. Device will be plugged.
131 * READ_SYNC A synchronous read. Device is not plugged, caller can
132 * immediately wait on this read without caring about
133 * unplugging.
134 * READA Used for read-ahead operations. Lower priority, and the
135 * block layer could (in theory) choose to ignore this
136 * request if it runs into resource problems.
137 * WRITE A normal async write. Device will be plugged.
1#ifndef _LINUX_FS_H
2#define _LINUX_FS_H
3
4/*
5 * This file has definitions for some important file table
6 * structures etc.
7 */
8

--- 121 unchanged lines hidden (view full) ---

130 * READ A normal read operation. Device will be plugged.
131 * READ_SYNC A synchronous read. Device is not plugged, caller can
132 * immediately wait on this read without caring about
133 * unplugging.
134 * READA Used for read-ahead operations. Lower priority, and the
135 * block layer could (in theory) choose to ignore this
136 * request if it runs into resource problems.
137 * WRITE A normal async write. Device will be plugged.
138 * WRITE_SYNC_PLUG Synchronous write. Identical to WRITE, but passes down
138 * WRITE_SYNC Synchronous write. Identical to WRITE, but passes down
139 * the hint that someone will be waiting on this IO
139 * the hint that someone will be waiting on this IO
140 * shortly. The device must still be unplugged explicitly,
141 * WRITE_SYNC_PLUG does not do this as we could be
142 * submitting more writes before we actually wait on any
143 * of them.
144 * WRITE_SYNC Like WRITE_SYNC_PLUG, but also unplugs the device
145 * immediately after submission. The write equivalent
146 * of READ_SYNC.
147 * WRITE_ODIRECT_PLUG Special case write for O_DIRECT only.
140 * shortly. The write equivalent of READ_SYNC.
141 * WRITE_ODIRECT Special case write for O_DIRECT only.
148 * WRITE_FLUSH Like WRITE_SYNC but with preceding cache flush.
149 * WRITE_FUA Like WRITE_SYNC but data is guaranteed to be on
150 * non-volatile media on completion.
151 * WRITE_FLUSH_FUA Combination of WRITE_FLUSH and FUA. The IO is preceded
152 * by a cache flush and data is guaranteed to be on
153 * non-volatile media on completion.
154 *
155 */
156#define RW_MASK REQ_WRITE
157#define RWA_MASK REQ_RAHEAD
158
159#define READ 0
160#define WRITE RW_MASK
161#define READA RWA_MASK
162
142 * WRITE_FLUSH Like WRITE_SYNC but with preceding cache flush.
143 * WRITE_FUA Like WRITE_SYNC but data is guaranteed to be on
144 * non-volatile media on completion.
145 * WRITE_FLUSH_FUA Combination of WRITE_FLUSH and FUA. The IO is preceded
146 * by a cache flush and data is guaranteed to be on
147 * non-volatile media on completion.
148 *
149 */
150#define RW_MASK REQ_WRITE
151#define RWA_MASK REQ_RAHEAD
152
153#define READ 0
154#define WRITE RW_MASK
155#define READA RWA_MASK
156
163#define READ_SYNC (READ | REQ_SYNC | REQ_UNPLUG)
157#define READ_SYNC (READ | REQ_SYNC)
164#define READ_META (READ | REQ_META)
158#define READ_META (READ | REQ_META)
165#define WRITE_SYNC_PLUG (WRITE | REQ_SYNC | REQ_NOIDLE)
166#define WRITE_SYNC (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_UNPLUG)
167#define WRITE_ODIRECT_PLUG (WRITE | REQ_SYNC)
159#define WRITE_SYNC (WRITE | REQ_SYNC | REQ_NOIDLE)
160#define WRITE_ODIRECT (WRITE | REQ_SYNC)
168#define WRITE_META (WRITE | REQ_META)
161#define WRITE_META (WRITE | REQ_META)
169#define WRITE_FLUSH (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_UNPLUG | \
170 REQ_FLUSH)
171#define WRITE_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_UNPLUG | \
172 REQ_FUA)
173#define WRITE_FLUSH_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_UNPLUG | \
174 REQ_FLUSH | REQ_FUA)
162#define WRITE_FLUSH (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FLUSH)
163#define WRITE_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FUA)
164#define WRITE_FLUSH_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FLUSH | REQ_FUA)
175
176#define SEL_IN 1
177#define SEL_OUT 2
178#define SEL_EX 4
179
180/* public flags for file_system_type */
181#define FS_REQUIRES_DEV 1
182#define FS_BINARY_MOUNTDATA 2

--- 2383 unchanged lines hidden ---
165
166#define SEL_IN 1
167#define SEL_OUT 2
168#define SEL_EX 4
169
170/* public flags for file_system_type */
171#define FS_REQUIRES_DEV 1
172#define FS_BINARY_MOUNTDATA 2

--- 2383 unchanged lines hidden ---