diff --git a/Cargo.lock b/Cargo.lock index bacc54807749263fb7e5c6276e2c4590643e4b9f..b4b84320afaa13c5291e8b220b06e52b801036e2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,24 +24,62 @@ dependencies = [ ] [[package]] -name = "argon2" -version = "0.3.4" +name = "anstream" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25df3c03f1040d0069fcd3907e24e36d59f9b6fa07ba49be0eb25a794f036ba7" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ - "base64ct", - "blake2", + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", ] [[package]] -name = "atty" -version = "0.2.14" +name = "anstyle" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anstyle-parse" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ - "hermit-abi", - "libc", - "winapi", + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +dependencies = [ + "anstyle", + "windows-sys", +] + +[[package]] +name = "argon2" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db4ce4441f99dbd377ca8a8f57b698c44d0d6e712d8329b5040da5a64aa1ce73" +dependencies = [ + "base64ct", + "blake2", ] [[package]] @@ -58,9 +96,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "blake2" @@ -101,6 +139,12 @@ dependencies = [ "generic-array", ] +[[package]] +name = "colorchoice" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + [[package]] name = "cpufeatures" version = "0.2.12" @@ -120,6 +164,15 @@ dependencies = [ "typenum", ] +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + [[package]] name = "digest" version = "0.10.7" @@ -137,24 +190,34 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ad847bb2094f110bbdd6fa564894ca4556fd978958e93985420d680d3cb6d14" +[[package]] +name = "env_filter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +dependencies = [ + "log", + "regex", +] + [[package]] name = "env_logger" -version = "0.9.3" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" dependencies = [ - "atty", + "anstream", + "anstyle", + "env_filter", "humantime", "log", - "regex", - "termcolor", ] [[package]] name = "fuser" -version = "0.12.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5910691a0ececcc6eba8bb14029025c2d123e96a53db1533f6a4602861a5aaf7" +checksum = "2e697f6f62c20b6fad1ba0f84ae909f25971cf16e735273524e3977c94604cf8" dependencies = [ "libc", "log", @@ -162,7 +225,6 @@ dependencies = [ "page_size", "pkg-config", "smallvec", - "users", "zerocopy", ] @@ -184,16 +246,7 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", -] - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", + "wasi", ] [[package]] @@ -202,6 +255,12 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "libc" version = "0.2.155" @@ -214,7 +273,7 @@ version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", "redox_syscall 0.4.1", ] @@ -225,16 +284,16 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", "redox_syscall 0.5.2", ] [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "memchr" @@ -242,6 +301,12 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "numtoa" version = "0.1.0" @@ -256,9 +321,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "page_size" -version = "0.4.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebde548fbbf1ea81a99b128872779c437752fb99f217c45245e1a61dcd9edcd" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" dependencies = [ "libc", "winapi", @@ -270,6 +335,12 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "proc-macro2" version = "1.0.86" @@ -325,7 +396,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -393,6 +464,26 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" +[[package]] +name = "serde" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "smallvec" version = "1.13.2" @@ -401,9 +492,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "subtle" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -416,20 +507,11 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - [[package]] name = "termion" -version = "2.0.3" +version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4648c7def6f2043b2568617b9f9b75eae88ca185dbc1f1fda30e95a85d49d7d" +checksum = "1ccce68e518d1173e80876edd54760b60b792750d0cab6444a79101c6ea03848" dependencies = [ "libc", "libredox 0.0.2", @@ -439,15 +521,23 @@ dependencies = [ [[package]] name = "time" -version = "0.1.45" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", + "deranged", + "num-conv", + "powerfmt", + "serde", + "time-core", ] +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + [[package]] name = "typenum" version = "1.17.0" @@ -461,20 +551,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] -name = "users" -version = "0.11.0" +name = "utf8parse" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24cc0f6d6f267b73e5a2cadf007ba8f9bc39c6a6f9666f8cf25ea809a153b032" -dependencies = [ - "libc", - "log", -] +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea73390fe27785838dcbf75b91b1d84799e28f1ce71e6f372a5dc2200c80de5" +checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" dependencies = [ "getrandom", ] @@ -485,12 +571,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -513,15 +593,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" -dependencies = [ - "windows-sys", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -603,9 +674,9 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "zerocopy" -version = "0.6.6" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854e949ac82d619ee9a14c66a1b674ac730422372ccb759ce0c39cabcf2bf8e6" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "byteorder", "zerocopy-derive", @@ -613,9 +684,9 @@ dependencies = [ [[package]] name = "zerocopy-derive" -version = "0.6.6" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 4ec7d0608af0d60287ec992fe187b610bf2b1bcc..e5d2d4f14313efb98940c7ab72f6e370d6dd060e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,21 +32,21 @@ required-features = ["std"] [dependencies] aes = { version = "=0.7.5", default-features = false } -argon2 = { version = "0.3.4", default-features = false, features = ["alloc"] } +argon2 = { version = "0.4", default-features = false, features = ["alloc"] } base64ct = { version = "1", default-features = false } -env_logger = { version = "0.9", optional = true } +env_logger = { version = "0.11", optional = true } endian-num = "0.1" getrandom = { version = "0.2.5", optional = true } libc = "0.2" log = { version = "0.4.14", default-features = false, optional = true} -redox_syscall = { version = "0.5", features = ["std"] } +redox_syscall = { version = "0.5" } range-tree = { version = "0.1", optional = true } seahash = { version = "4.1.0", default-features = false } -termion = { version = "2", optional = true } +termion = { version = "4", optional = true } uuid = { version = "1.4", default-features = false } redox-path = "0.3.0" libredox = { version = "0.1.3", optional = true } -redox-scheme = "0.2.1" +redox-scheme = { version = "0.2.1", optional = true } [features] default = ["std", "log"] @@ -62,13 +62,15 @@ std = [ "range-tree", "termion", "time", - "uuid/v4" + "uuid/v4", + "redox_syscall/std", + "redox-scheme" ] [target.'cfg(not(target_os = "redox"))'.dependencies] -fuser = { version = "0.12.0", optional = true } +fuser = { version = "0.14", optional = true } libc = { version = "0.2", optional = true } -time = { version = "0.1", optional = true } +time = { version = "0.3", optional = true } [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } diff --git a/src/bin/mount.rs b/src/bin/mount.rs index f80cb5ca5ef867b5a59216ba0e37003a1cb80f23..1b5d7a1dc849ed9d8a594392bcfe82d907580e8d 100644 --- a/src/bin/mount.rs +++ b/src/bin/mount.rs @@ -75,7 +75,6 @@ fn capability_mode() { #[cfg(target_os = "redox")] fn bootloader_password() -> Option<Vec<u8>> { use libredox::call::MmapArgs; - use syscall::MapFlags; let addr_env = env::var_os("REDOXFS_PASSWORD_ADDR")?; let size_env = env::var_os("REDOXFS_PASSWORD_SIZE")?; diff --git a/src/disk/file.rs b/src/disk/file.rs index 5b4e356010ccd75d96922695440dcb30046e1800..1a46baf11ff4c2939e41906cdf32a94b7847e61e 100644 --- a/src/disk/file.rs +++ b/src/disk/file.rs @@ -1,5 +1,5 @@ use std::fs::{File, OpenOptions}; -use std::io::{Read, Seek, SeekFrom, Write}; +use std::io::{Seek, SeekFrom}; use std::os::unix::fs::FileExt; use std::path::Path; diff --git a/src/filesystem.rs b/src/filesystem.rs index cbff4d2dc00a2dca0f756d2cacd766a72533f4a6..3644ede4bf2cdda777608d1a1f8e7fa960330ec6 100644 --- a/src/filesystem.rs +++ b/src/filesystem.rs @@ -1,12 +1,11 @@ use aes::{Aes128, BlockDecrypt, BlockEncrypt}; use alloc::{collections::VecDeque, vec::Vec}; -use core::mem; -use syscall::error::{Error, Result, EIO, EKEYREJECTED, ENOENT, ENOKEY, ENOSPC}; +use syscall::error::{Error, Result, EKEYREJECTED, ENOENT, ENOKEY}; + +use crate::{Allocator, BlockAddr, BlockLevel, Disk, Header, Transaction, BLOCK_SIZE, HEADER_RING}; +#[cfg(feature = "std")] +use crate::{AllocEntry, AllocList, BlockData, BlockTrait, Key, KeySlot, Node, Salt, TreeList}; -use crate::{ - AllocEntry, AllocList, Allocator, BlockAddr, BlockData, BlockLevel, BlockTrait, Disk, Header, - Key, KeySlot, Node, Salt, Transaction, TreeList, BLOCK_SIZE, HEADER_RING, -}; /// A file system pub struct FileSystem<D: Disk> { @@ -160,11 +159,11 @@ impl<D: Disk> FileSystem<D> { // Write header generation zero let count = unsafe { fs.disk.write_at(fs.block, &fs.header)? }; - if count != mem::size_of_val(&fs.header) { + if count != core::mem::size_of_val(&fs.header) { // Wrote wrong number of bytes #[cfg(feature = "log")] log::error!("CREATE: WRONG NUMBER OF BYTES"); - return Err(Error::new(EIO)); + return Err(Error::new(syscall::error::EIO)); } // Set tree and alloc pointers and write header generation one @@ -208,7 +207,7 @@ impl<D: Disk> FileSystem<D> { Ok(fs) } else { - Err(Error::new(ENOSPC)) + Err(Error::new(syscall::error::ENOSPC)) } } diff --git a/src/header.rs b/src/header.rs index bb58ed55a3bf7dfbb12adbe366925811d60e5cde..def5f1f487c442940a01cd5e27e4f3bf57b0fb33 100644 --- a/src/header.rs +++ b/src/header.rs @@ -3,7 +3,6 @@ use core::{fmt, mem, slice}; use endian_num::Le; use aes::{Aes128, BlockDecrypt, BlockEncrypt}; -use uuid::Uuid; use crate::{AllocList, BlockPtr, KeySlot, Tree, BLOCK_SIZE, SIGNATURE, VERSION}; @@ -40,7 +39,7 @@ pub struct Header { impl Header { #[cfg(feature = "std")] pub fn new(size: u64) -> Header { - let uuid = Uuid::new_v4(); + let uuid = uuid::Uuid::new_v4(); let mut header = Header { signature: *SIGNATURE, version: VERSION.into(), diff --git a/src/mount/redox/mod.rs b/src/mount/redox/mod.rs index 904d39be8160f7fd34d6122312c1278e14bea1f4..76ba021c56ea1f8bc727dc23b040b75a3cad26f9 100644 --- a/src/mount/redox/mod.rs +++ b/src/mount/redox/mod.rs @@ -1,5 +1,4 @@ -use std::fs::File; -use std::io::{self, Read, Write}; +use std::io; use std::path::Path; use std::sync::atomic::Ordering; use redox_scheme::{RequestKind, SignalBehavior, Socket, V2}; @@ -18,7 +17,6 @@ where F: FnMut(&Path) -> T, { let mountpoint = mountpoint.as_ref(); - let socket_path = format!(":{}", mountpoint.display()); let socket = Socket::<V2>::create(&format!("{}", mountpoint.display()))?; let mounted_path = format!("{}:", mountpoint.display()); diff --git a/src/mount/redox/resource.rs b/src/mount/redox/resource.rs index d9354ba3f5576c96a83bddd30f1d8548bab914cd..424acf4cc8e743414ac0aa490d56513ecfdf11e1 100644 --- a/src/mount/redox/resource.rs +++ b/src/mount/redox/resource.rs @@ -1,4 +1,3 @@ -use std::cmp::{max, min}; use std::slice; use std::time::{SystemTime, UNIX_EPOCH}; @@ -6,11 +5,11 @@ use alloc::collections::BTreeMap; use libredox::call::MmapArgs; use range_tree::RangeTree; -use syscall::data::{Map, Stat, TimeSpec}; +use syscall::data::{Stat, TimeSpec}; use syscall::error::{Error, Result, EBADF, EINVAL, EISDIR, EPERM}; use syscall::flag::{ MapFlags, F_GETFL, F_SETFL, MODE_PERM, O_ACCMODE, O_APPEND, O_RDONLY, O_RDWR, O_WRONLY, - PROT_READ, PROT_WRITE, SEEK_CUR, SEEK_END, SEEK_SET, + PROT_READ, PROT_WRITE }; use syscall::{EBADFD, PAGE_SIZE}; diff --git a/src/mount/redox/scheme.rs b/src/mount/redox/scheme.rs index a9f1ca88bc0560a4b06b848e457685bd229ee24b..46109bcba2010032a92a5db487a3c5a73fe767d3 100644 --- a/src/mount/redox/scheme.rs +++ b/src/mount/redox/scheme.rs @@ -9,7 +9,7 @@ use syscall::error::{ EPERM, EXDEV, }; use syscall::flag::{ - EventFlags, MapFlags, MODE_PERM, O_ACCMODE, O_CREAT, O_DIRECTORY, O_EXCL, O_NOFOLLOW, O_RDONLY, + EventFlags, MapFlags, O_ACCMODE, O_CREAT, O_DIRECTORY, O_EXCL, O_NOFOLLOW, O_RDONLY, O_RDWR, O_STAT, O_SYMLINK, O_TRUNC, O_WRONLY, }; use syscall::schemev2::NewFdFlags; diff --git a/src/transaction.rs b/src/transaction.rs index 7816c5948858fa4785a295a792d4a9210a5ff7a2..708436c1b1ea98dc542210e6f9596bb49687050a 100644 --- a/src/transaction.rs +++ b/src/transaction.rs @@ -561,9 +561,7 @@ impl<'a, D: Disk> Transaction<'a, D> { ctime: u64, ctime_nsec: u32, ) -> Result<TreeData<Node>> { - if let Err(err) = self.check_name(&parent_ptr, &name){ - return Err(err); - } + self.check_name(&parent_ptr, name)?; unsafe { let parent = self.read_tree(parent_ptr)?; @@ -593,9 +591,7 @@ impl<'a, D: Disk> Transaction<'a, D> { name: &str, node_ptr: TreePtr<Node>, ) -> Result<()> { - if let Err(err) = self.check_name(&parent_ptr, &name){ - return Err(err); - } + self.check_name(&parent_ptr, name)?; let entry = DirEntry::new(node_ptr, name);