summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2021-12-30 12:24:28 -0600
committerAlejandro Soto <alejandro@34project.org>2021-12-30 12:29:31 -0600
commit59731f492f2f1094ed917d47f4369bc60cdc3385 (patch)
tree427616cab1b2b439d01018092bab26a5b14c7acd
parenta6b20d4090014d00ee0dbeedb70beafe516f7e0b (diff)
Enforce common init flags
-rw-r--r--src/fuse/ops.rs21
-rw-r--r--src/fuse/session.rs1
2 files changed, 21 insertions, 1 deletions
diff --git a/src/fuse/ops.rs b/src/fuse/ops.rs
index ec6fdcf..e6de185 100644
--- a/src/fuse/ops.rs
+++ b/src/fuse/ops.rs
@@ -278,7 +278,26 @@ op! {
let flags = {
use proto::InitFlags;
- let supported = InitFlags::PARALLEL_DIROPS
+ //TODO: Conditions for these feature flags
+ // - Locks
+ // - ASYNC_DIO
+ // - WRITEBACK_CACHE
+ // - NO_OPEN_SUPPORT
+ // - HANDLE_KILLPRIV
+ // - POSIX_ACL
+ // - NO_OPENDIR_SUPPORT
+ // - EXPLICIT_INVAL_DATA
+
+ let supported = InitFlags::ASYNC_READ
+ | InitFlags::FILE_OPS
+ | InitFlags::ATOMIC_O_TRUNC
+ | InitFlags::EXPORT_SUPPORT
+ | InitFlags::BIG_WRITES
+ | InitFlags::HAS_IOCTL_DIR
+ | InitFlags::AUTO_INVAL_DATA
+ | InitFlags::DO_READDIRPLUS
+ | InitFlags::READDIRPLUS_AUTO
+ | InitFlags::PARALLEL_DIROPS
| InitFlags::ABORT_ERROR
| InitFlags::MAX_PAGES
| InitFlags::CACHE_SYMLINKS;
diff --git a/src/fuse/session.rs b/src/fuse/session.rs
index d54549c..8b31706 100644
--- a/src/fuse/session.rs
+++ b/src/fuse/session.rs
@@ -304,6 +304,7 @@ impl Endpoint<'_> {
Releasedir => dispatch!(Releasedir),
Access => dispatch!(Access),
BatchForget => dispatch!(Forget),
+ ReaddirPlus => dispatch!(Readdir),
_ => {
log::warn!("Not implemented: {}", common.header);