diff options
| author | Alejandro Soto <alejandro@34project.org> | 2021-12-30 12:23:57 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2021-12-30 12:23:57 -0600 |
| commit | a6b20d4090014d00ee0dbeedb70beafe516f7e0b (patch) | |
| tree | a58d73007b68cde7a4408375011647d60017f76f | |
| parent | 86cfef51cf89d43bbeefa9a06ba1f80ef8e8ab15 (diff) | |
Add Reply::flags() for Open
| -rw-r--r-- | src/fuse/io.rs | 1 | ||||
| -rw-r--r-- | src/fuse/ops.rs | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/fuse/io.rs b/src/fuse/io.rs index db33ab3..d7f1100 100644 --- a/src/fuse/io.rs +++ b/src/fuse/io.rs @@ -15,6 +15,7 @@ use super::{Done, Operation, Reply, Request}; #[doc(no_inline)] pub use nix::{ dir::Type as EntryType, + fcntl::OFlag as OpenFlags, sys::stat::Mode, unistd::{AccessFlags, Gid, Pid, Uid}, }; diff --git a/src/fuse/ops.rs b/src/fuse/ops.rs index 250fe47..ec6fdcf 100644 --- a/src/fuse/ops.rs +++ b/src/fuse/ops.rs @@ -12,7 +12,7 @@ use crate::{ }; use super::{ - io::{AccessFlags, Entry, EntryType, FsInfo, Interruptible, Known}, + io::{AccessFlags, Entry, EntryType, FsInfo, Interruptible, Known, OpenFlags}, private_trait::Sealed, Done, Operation, Reply, Request, }; @@ -180,6 +180,12 @@ op! { type ReplyTail = proto::OpenOutFlags; } + impl Request { + pub fn flags(&self) -> OpenFlags { + OpenFlags::from_bits_truncate(self.body.flags.try_into().unwrap_or_default()) + } + } + impl Reply { pub fn force_direct_io(&mut self) { self.tail |= proto::OpenOutFlags::DIRECT_IO; |
