pub struct OverlayFS { /* private fields */ }
Expand description
An overlay file system combining several filesystems into one, an upper layer with read/write access and lower layers with only read access
Files in upper layers shadow those in lower layers. Directories are the merged view of all layers.
NOTE: To allow removing files and directories (e.g. via remove_file()) from the lower layer filesystems, this mechanism creates a .whiteout
folder in the root of the upper level filesystem to mark removed files
Implementations§
Trait Implementations§
source§impl FileSystem for OverlayFS
impl FileSystem for OverlayFS
source§fn read_dir(
&self,
path: &str
) -> VfsResult<Box<dyn Iterator<Item = String> + Send>>
fn read_dir( &self, path: &str ) -> VfsResult<Box<dyn Iterator<Item = String> + Send>>
Iterates over all direct children of this directory path
NOTE: the returned String items denote the local bare filenames, i.e. they should not contain “/” anywhere
source§fn create_dir(&self, path: &str) -> VfsResult<()>
fn create_dir(&self, path: &str) -> VfsResult<()>
Creates the directory at this path Read more
source§fn open_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndRead + Send>>
fn open_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndRead + Send>>
Opens the file at this path for reading
source§fn create_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndWrite + Send>>
fn create_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndWrite + Send>>
Creates a file at this path for writing
source§fn append_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndWrite + Send>>
fn append_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndWrite + Send>>
Opens the file at this path for appending
source§fn metadata(&self, path: &str) -> VfsResult<VfsMetadata>
fn metadata(&self, path: &str) -> VfsResult<VfsMetadata>
Returns the file metadata for the file at this path
source§fn set_creation_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
fn set_creation_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
Sets the files creation timestamp, if the implementation supports it
source§fn set_modification_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
fn set_modification_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
Sets the files modification timestamp, if the implementation supports it
source§fn set_access_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
fn set_access_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
Sets the files access timestamp, if the implementation supports it
source§fn exists(&self, path: &str) -> VfsResult<bool>
fn exists(&self, path: &str) -> VfsResult<bool>
Returns true if a file or directory at path exists, false otherwise
source§fn copy_file(&self, _src: &str, _dest: &str) -> VfsResult<()>
fn copy_file(&self, _src: &str, _dest: &str) -> VfsResult<()>
Copies the src path to the destination path within the same filesystem (optional)
Auto Trait Implementations§
impl !RefUnwindSafe for OverlayFS
impl Send for OverlayFS
impl Sync for OverlayFS
impl Unpin for OverlayFS
impl !UnwindSafe for OverlayFS
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more