Without async DIO write requests to a single file were always serialized. With async DIO that's no longer the case. So don't turn on async DIO by default for fear of breaking backward compatibility.
Showing the changes to include/uapi/linux (1 of 4 files). Show all
Unified · Split
| @@ -90,6 +90,9 @@ · 89 unmodified lines | ||
| 90 | 90 | * 7.21 |
| 91 | 91 | * - add FUSE_READDIRPLUS |
| 92 | 92 | * - send the requested events in POLL request |
| 93 | + * | |
| 94 | + * 7.22 | |
| 95 | + * - add FUSE_ASYNC_DIO | |
| 93 | 96 | */ |
| 94 | 97 | |
| 95 | 98 | #ifndef _LINUX_FUSE_H |
| @@ -125,7 +128,7 @@ · 29 unmodified lines | ||
| 125 | 128 | #define FUSE_KERNEL_VERSION 7 |
| 126 | 129 | |
| 127 | 130 | /** Minor version number of this interface */ |
| 128 | −#define FUSE_KERNEL_MINOR_VERSION 21 | |
| 131 | +#define FUSE_KERNEL_MINOR_VERSION 22 | |
| 129 | 132 | |
| 130 | 133 | /** The node ID of the root inode */ |
| 131 | 134 | #define FUSE_ROOT_ID 1 |
| @@ -215,6 +218,7 @@ struct fuse_file_lock { · 83 unmodified lines | ||
| 215 | 218 | * FUSE_AUTO_INVAL_DATA: automatically invalidate cached pages |
| 216 | 219 | * FUSE_DO_READDIRPLUS: do READDIRPLUS (READDIR+LOOKUP in one) |
| 217 | 220 | * FUSE_READDIRPLUS_AUTO: adaptive readdirplus |
| 221 | + * FUSE_ASYNC_DIO: asynchronous direct I/O submission | |
| 218 | 222 | */ |
| 219 | 223 | #define FUSE_ASYNC_READ (1 << 0) |
| 220 | 224 | #define FUSE_POSIX_LOCKS (1 << 1) |
| @@ -231,6 +235,7 @@ struct fuse_file_lock { · 10 unmodified lines | ||
| 231 | 235 | #define FUSE_AUTO_INVAL_DATA (1 << 12) |
| 232 | 236 | #define FUSE_DO_READDIRPLUS (1 << 13) |
| 233 | 237 | #define FUSE_READDIRPLUS_AUTO (1 << 14) |
| 238 | +#define FUSE_ASYNC_DIO (1 << 15) | |
| 234 | 239 | |
| 235 | 240 | /** |
| 236 | 241 | * CUSE INIT request/reply flags |