This patch implements basic DAX support. mmap() is not implemented yet and will come in later patches. This patch looks into implemeting read/write. We make use of interval tree to keep track of per inode dax mappings. Do not use dax for file extending writes, instead just send WRITE message to daemon (like we do for direct I/O path). This will keep write and i_size change atomic w.r.t crash.
Showing the changes to include/uapi (1 of 6 files). Show all
Unified · Split
| @@ -895,6 +895,7 @@ struct fuse_copy_file_range_in { · 894 unmodified lines | ||
| 895 | 895 | }; |
| 896 | 896 | |
| 897 | 897 | #define FUSE_SETUPMAPPING_FLAG_WRITE (1ull << 0) |
| 898 | +#define FUSE_SETUPMAPPING_FLAG_READ (1ull << 1) | |
| 898 | 899 | struct fuse_setupmapping_in { |
| 899 | 900 | /* An already open handle */ |
| 900 | 901 | uint64_t fh; |