Skip to content

fix(virtio-fs): send the parent node in create, mkdir, unlink and rmdir - #2780

Open
stlankes wants to merge 1 commit into
hermit-os:mainfrom
stlankes:fuse
Open

stlankes wants to merge 1 commit into
hermit-os:mainfrom
stlankes:fuse

Conversation

@stlankes

@stlankes stlankes commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

virtiofsd resolves these names relative to the parent node, so a full path below the root node refers to the root of the host.

See also the description of unlink in

https://libfuse.github.io/doxygen/structfuse__lowlevel__ops.html

It defines parent as inode number of the parent directory.

virtiofsd resolves these names relative to the parent node, so a full
path below the root node refers to the root of the host.

See also the description of unlink in

https://libfuse.github.io/doxygen/structfuse__lowlevel__ops.html

It defines `parent` as inode number of the parent directory.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark Results

Details
Benchmark Current: 5d45c6d Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 89.19 s 80.34 s 1.11 ❗
startup_benchmark File Size 0.80 MB 0.80 MB 1.00 ❗
Startup Time - 1 core 0.73 s (±0.02 s) 0.75 s (±0.02 s) 0.98
Startup Time - 2 cores 0.75 s (±0.02 s) 0.74 s (±0.02 s) 1.02
Startup Time - 4 cores 0.75 s (±0.01 s) 0.74 s (±0.02 s) 1.00
multithreaded_benchmark Build Time 89.25 s 82.11 s 1.09 ❗
multithreaded_benchmark File Size 0.89 MB 0.86 MB 1.04 ❗
Multithreaded Pi Efficiency - 2 Threads 88.53 % (±8.38 %) 85.89 % (±6.61 %) 1.03
Multithreaded Pi Efficiency - 4 Threads 44.26 % (±3.57 %) 43.43 % (±2.56 %) 1.02
Multithreaded Pi Efficiency - 8 Threads 25.91 % (±1.95 %) 25.76 % (±1.53 %) 1.01
micro_benchmarks Build Time 89.72 s 80.40 s 1.12 ❗
micro_benchmarks File Size 0.89 MB 0.86 MB 1.04 ❗
Scheduling time - 1 thread 67.36 ticks (±2.97 ticks) 62.65 ticks (±4.06 ticks) 1.08
Scheduling time - 2 threads 37.50 ticks (±3.77 ticks) 34.08 ticks (±4.10 ticks) 1.10
Micro - Time for syscall (getpid) 3.80 ticks (±0.60 ticks) 3.45 ticks (±0.58 ticks) 1.10
Memcpy speed - (built_in) block size 4096 79689.68 MByte/s (±55280.39 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 0.97
Memcpy speed - (built_in) block size 1048576 30224.64 MByte/s (±24396.66 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 0.99
Memcpy speed - (built_in) block size 16777216 25801.30 MByte/s (±21480.17 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 0.98
Memset speed - (built_in) block size 4096 79515.32 MByte/s (±55155.55 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 0.97
Memset speed - (built_in) block size 1048576 30953.28 MByte/s (±24817.63 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 0.99
Memset speed - (built_in) block size 16777216 26568.40 MByte/s (±21976.21 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 0.98
Memcpy speed - (rust) block size 4096 73661.92 MByte/s (±51678.11 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 0.99
Memcpy speed - (rust) block size 1048576 30000.07 MByte/s (±24383.05 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 0.99
Memcpy speed - (rust) block size 16777216 26659.98 MByte/s (±22072.72 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 0.97
Memset speed - (rust) block size 4096 74073.80 MByte/s (±51931.71 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 1.00
Memset speed - (rust) block size 1048576 30730.33 MByte/s (±24805.10 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 0.99
Memset speed - (rust) block size 16777216 27414.49 MByte/s (±22537.50 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 0.97
alloc_benchmarks Build Time 82.60 s 74.76 s 1.10 ❗
alloc_benchmarks File Size 0.87 MB 0.87 MB 1.00 ❗
Allocations - Allocation success 91.35 % 91.31 % 1.00 ❗
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.61 % 61.44 % 1.00 ❗
Allocations - Average Allocation time 9326.78 Ticks (±125.53 Ticks) 5860.58 Ticks (±98.43 Ticks) 1.59 ❗
Allocations - Average Allocation time (no fail) 9738.99 Ticks (±128.12 Ticks) 6554.81 Ticks (±92.86 Ticks) 1.49 ❗
Allocations - Average Deallocation time 1441.75 Ticks (±398.02 Ticks) 1805.01 Ticks (±250.35 Ticks) 0.80
mutex_benchmark Build Time 82.34 s 79.82 s 1.03 ❗
mutex_benchmark File Size 0.89 MB 0.86 MB 1.04 ❗
Mutex Stress Test Average Time per Iteration - 1 Threads 12.22 ns (±0.61 ns) 12.10 ns (±0.41 ns) 1.01
Mutex Stress Test Average Time per Iteration - 2 Threads 90.42 ns (±7.24 ns) 40.26 ns (±1.68 ns) 2.25 ❗

This comment was automatically generated by workflow using github-action-benchmark.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant