mirror of https://github.com/zkat/cacache-rs.git
fix(mmap): mmap needs equal buffer lengths (#33)
Fixes: https://github.com/zkat/cacache-rs/issues/32
This commit is contained in:
parent
d9291763ce
commit
684a3e8a68
|
|
@ -34,9 +34,10 @@ impl Writer {
|
|||
.recursive(true)
|
||||
.create(&tmp_path)
|
||||
.to_internal()?;
|
||||
let tmpfile = NamedTempFile::new_in(tmp_path).to_internal()?;
|
||||
let mut tmpfile = NamedTempFile::new_in(tmp_path).to_internal()?;
|
||||
let mmap = if let Some(size) = size {
|
||||
if size <= MAX_MMAP_SIZE {
|
||||
tmpfile.as_file_mut().set_len(size as u64).to_internal()?;
|
||||
unsafe { MmapMut::map_mut(tmpfile.as_file()).ok() }
|
||||
} else {
|
||||
None
|
||||
|
|
|
|||
|
|
@ -312,15 +312,14 @@ fn bucket_entries(bucket: &Path) -> InternalResult<Vec<SerializableMetadata>> {
|
|||
|
||||
async fn bucket_entries_async(bucket: &Path) -> InternalResult<Vec<SerializableMetadata>> {
|
||||
let file_result = afs::File::open(bucket).await;
|
||||
let file;
|
||||
if let Err(err) = file_result {
|
||||
let file = if let Err(err) = file_result {
|
||||
if err.kind() == ErrorKind::NotFound {
|
||||
return Ok(Vec::new());
|
||||
}
|
||||
return Err(err).to_internal()?;
|
||||
} else {
|
||||
file = file_result.unwrap();
|
||||
}
|
||||
file_result.unwrap()
|
||||
};
|
||||
let mut vec = Vec::new();
|
||||
let mut lines = BufReader::new(file).lines();
|
||||
while let Some(line) = lines.next().await {
|
||||
|
|
|
|||
Loading…
Reference in New Issue