From a6b20d4090014d00ee0dbeedb70beafe516f7e0b Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Thu, 30 Dec 2021 12:23:57 -0600 Subject: Add Reply::flags() for Open --- src/fuse/io.rs | 1 + src/fuse/ops.rs | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/fuse') 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; -- cgit v1.2.3