fallocate only when necessary
[?]
Mar 7, 2021, 4:28 PM
M6PHQUGLW2UN6LIVF4NCPNBFBMALVCPZFQ2AYZGYHSOKO3RXWG2ACDependencies
- [2]
WTXLZDYIFixing bus errors on a full disk - [3]
OHUZ73MKVersions - [4]
5LSYTRQ6More docs, example, and fixing the free page diagnostic function for mutable transactions - [5]
DASFQGORDebugging - [6]
OFINGD26implementing prev() on cursors (+ some cleanup) - [7]
6UVFCERMFormatting, debugging, etc. - [8]
52X5P7NDCleaning up the unsized part - [9]
OP6SVMODResetting history - [10]
H3FVSQIQUnsized pages - [*]
W2MIZD5BSingle file databases + CRC for the root pages (checking the other pages makes everything very slow)
Change contents
- replacement in sanakirja-core/src/btree/page_unsized.rs at line 636
fn modify<T: LoadPage, K: ?Sized, V: ?Sized, P: BTreeMutPage<K, V>, L: AllocWrite<K, V>>(fn modify<T: LoadPage, K: core::fmt::Debug + ?Sized, V: core::fmt::Debug + ?Sized, P: BTreeMutPage<K, V>, L: AllocWrite<K, V>>( - replacement in sanakirja-core/src/btree/page_unsized.rs at line 677
K: ?Sized,V: ?Sized,K: ?Sized + core::fmt::Debug,V: ?Sized + core::fmt::Debug, - edit in sanakirja/src/environment/mod.rs at line 321[12.5468][12.5468]
fallocate(file, offset + length)?; - edit in sanakirja/src/environment/mod.rs at line 340
}}#[cfg(feature = "mmap")]fn fallocate(&self, length: u64) -> Result<(), Error> {if let Some(ref file) = self.file {file.allocate(length)? - edit in sanakirja/src/environment/mod.rs at line 341
Ok(())}#[cfg(not(feature = "mmap"))]fn fallocate(&self, length: u64) -> Result<(), Error> {Ok(()) - edit in sanakirja/src/environment/mod.rs at line 349
self.fallocate(offset + PAGE_SIZEU64)?; - replacement in sanakirja/src/environment/mod.rs at line 353
mmaps.push(self.open_mmap(i, length0).unwrap());mmaps.push(self.open_mmap(i, length0)?); - edit in sanakirja/src/environment/mod.rs at line 391[3.105581][12.5678]
}#[cfg(feature = "mmap")]fn fallocate(file: &std::fs::File, length: u64) -> Result<(), Error> {file.allocate(length)?;Ok(()) - edit in sanakirja/src/environment/mod.rs at line 399[12.5681][12.5681]
#[cfg(not(feature = "mmap"))]fn fallocate(&self, length: u64) -> Result<(), Error> {Ok(())} - replacement in sanakirja/Cargo.toml at line 3
version = "1.1.6"version = "1.1.7"