rust/hg-core/src/repo.rs
branchstable
changeset 50180 be019ac8c1e4
parent 49217 13dfad0f9f7a
child 50211 f5e4248e5bce
equal deleted inserted replaced
50179:f2e13d8d30e0 50180:be019ac8c1e4
   318             self.dirstate_parents.set(docket.parents());
   318             self.dirstate_parents.set(docket.parents());
   319             self.dirstate_data_file_uuid
   319             self.dirstate_data_file_uuid
   320                 .set(Some(docket.uuid.to_owned()));
   320                 .set(Some(docket.uuid.to_owned()));
   321             let data_size = docket.data_size();
   321             let data_size = docket.data_size();
   322             let metadata = docket.tree_metadata();
   322             let metadata = docket.tree_metadata();
   323             if let Some(data_mmap) = self
   323             if crate::vfs::is_on_nfs_mount(docket.data_filename()) {
       
   324                 // Don't mmap on NFS to prevent `SIGBUS` error on deletion
       
   325                 OwningDirstateMap::new_v2(
       
   326                     self.hg_vfs().read(docket.data_filename())?,
       
   327                     data_size,
       
   328                     metadata,
       
   329                 )
       
   330             } else if let Some(data_mmap) = self
   324                 .hg_vfs()
   331                 .hg_vfs()
   325                 .mmap_open(docket.data_filename())
   332                 .mmap_open(docket.data_filename())
   326                 .io_not_found_as_none()?
   333                 .io_not_found_as_none()?
   327             {
   334             {
   328                 OwningDirstateMap::new_v2(data_mmap, data_size, metadata)
   335                 OwningDirstateMap::new_v2(data_mmap, data_size, metadata)