summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fuse/io.rs1
-rw-r--r--src/fuse/ops.rs8
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;