Dynamically enabling DAX requires that the page cache first be flushed and invalidated. This must occur atomically with the change of DAX mode otherwise we confuse the fsync/msync tracking and violate data durability guarantees. Eliminate the possibilty of DAX-disabled to DAX-enabled transitions for now and revisit this for the next cycle.
Showing the changes to include/uapi/linux (1 of 4 files). Show all
Unified · Split
| @@ -222,7 +222,6 @@ struct fsxattr { · 221 unmodified lines | |||
| 222 | #define BLKSECDISCARD _IO(0x12,125) | 222 | #define BLKSECDISCARD _IO(0x12,125) |
| 223 | #define BLKROTATIONAL _IO(0x12,126) | 223 | #define BLKROTATIONAL _IO(0x12,126) |
| 224 | #define BLKZEROOUT _IO(0x12,127) | 224 | #define BLKZEROOUT _IO(0x12,127) |
| 225 | #define BLKDAXSET _IO(0x12,128) | ||
| 226 | #define BLKDAXGET _IO(0x12,129) | 225 | #define BLKDAXGET _IO(0x12,129) |
| 227 | 226 | ||
| 228 | #define BMAP_IOCTL 1 /* obsolete - kept for compatibility */ | 227 | #define BMAP_IOCTL 1 /* obsolete - kept for compatibility */ |