diff -r f2e13d8d30e0 -r be019ac8c1e4 rust/hg-core/src/repo.rs --- a/rust/hg-core/src/repo.rs Thu Dec 08 16:38:39 2022 +0100 +++ b/rust/hg-core/src/repo.rs Mon Nov 28 12:33:20 2022 +0100 @@ -320,7 +320,14 @@ .set(Some(docket.uuid.to_owned())); let data_size = docket.data_size(); let metadata = docket.tree_metadata(); - if let Some(data_mmap) = self + if crate::vfs::is_on_nfs_mount(docket.data_filename()) { + // Don't mmap on NFS to prevent `SIGBUS` error on deletion + OwningDirstateMap::new_v2( + self.hg_vfs().read(docket.data_filename())?, + data_size, + metadata, + ) + } else if let Some(data_mmap) = self .hg_vfs() .mmap_open(docket.data_filename()) .io_not_found_as_none()?