Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions fuse-pipe/src/protocol/request.rs
Original file line number Diff line number Diff line change
Expand Up @@ -457,9 +457,10 @@ impl VolumeRequest {
| Self::Setlk { fh, .. }
| Self::Readdirplus { fh, .. } => *fh = new_fh,
Self::Setattr { fh, .. } => *fh = Some(new_fh),
// Only remap fh_in; fh_out references a different file and must be
// remapped separately if it's also stale (the EBADF retry in RemapFs
// handles one handle at a time via fh()).
// Only remap fh_in; fh_out references a different file and is NOT
// currently remapped after snapshot restore. This is a known limitation:
// copy_file_range/remap_file_range with a stale fh_out will fail.
// TODO: add fh_out()/with_fh_out() helpers for independent remapping.
Self::CopyFileRange { fh_in, .. } | Self::RemapFileRange { fh_in, .. } => {
*fh_in = new_fh;
}
Expand Down
5 changes: 4 additions & 1 deletion fuse-pipe/src/server/remap.rs
Original file line number Diff line number Diff line change
Expand Up @@ -539,7 +539,10 @@ impl<T: FilesystemHandler> RemapFs<T> {
let table: std::collections::BTreeMap<u64, String> = match serde_json::from_str(json) {
Ok(t) => t,
Err(e) => {
error!("failed to parse inode table JSON, starting with empty table: {}", e);
error!(
"failed to parse inode table JSON, starting with empty table: {}",
e
);
std::collections::BTreeMap::new()
}
};
Expand Down
Loading