LCOV - code coverage report
Current view: top level - pageserver/src - virtual_file.rs (source / functions) Coverage Total Hit
Test: 472031e0b71f3195f7f21b1f2b20de09fd07bb56.info Lines: 87.4 % 900 787
Test Date: 2025-05-26 10:37:33 Functions: 75.1 % 189 142

Function Name Sort by function name Hit count Sort by function hit count
<pageserver::virtual_file::SyncMode as core::convert::TryFrom<u8>>::try_from 0
<pageserver::virtual_file::VirtualFile as pageserver::virtual_file::owned_buffers_io::write::OwnedAsyncWriter>::set_len 0
::set_len 0
::set_len::{closure#0} 0
<pageserver::virtual_file::VirtualFile as pageserver::virtual_file::owned_buffers_io::write::OwnedAsyncWriter>::write_all_at::<_> 0
<pageserver::virtual_file::VirtualFile as pageserver::virtual_file::owned_buffers_io::write::OwnedAsyncWriter>::write_all_at::<_>::{closure#0} 0
<pageserver::virtual_file::VirtualFile>::open::<&camino::Utf8Path>::{closure#0} 0
<pageserver::virtual_file::VirtualFile>::read_to_string::<&camino::Utf8PathBuf> 0
<pageserver::virtual_file::VirtualFile>::read_to_string::<&camino::Utf8PathBuf>::{closure#0} 0
<pageserver::virtual_file::VirtualFile>::read_to_string::<&camino::Utf8PathBuf>::{closure#0}::{closure#0} 0
<pageserver::virtual_file::VirtualFile>::sync_data 0
::sync_data 0
::sync_data::{closure#0} 0
<pageserver::virtual_file::VirtualFileInner as core::ops::drop::Drop>::drop::{closure#0} 0
<pageserver::virtual_file::VirtualFileInner>::sync_data 0
::sync_data 0
::sync_data::{closure#0} 0
pageserver::virtual_file::get_io_buffer_alignment 0
pageserver::virtual_file::init 0
pageserver::virtual_file::on_fatal_io_error 0
pageserver::virtual_file::set_io_mode 0
pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0} 0
pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0}::{closure#0} 0
pageserver::virtual_file::is_fatal_io_error 1
pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0} 1
pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}::{closure#0} 1
pageserver::virtual_file::test_read_exact_at_impl::test_basic 2
pageserver::virtual_file::test_read_exact_at_impl::test_basic 1
pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0} 1
pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall 2
pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall 1
pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0} 1
pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full 2
pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full 1
pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0} 1
pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled 2
pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled 1
pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0} 1
pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0} 2
pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0}::{closure#0} 2
pageserver::virtual_file::tests::test_atomic_overwrite_basic 2
pageserver::virtual_file::tests::test_atomic_overwrite_basic 1
pageserver::virtual_file::tests::test_atomic_overwrite_basic::{closure#0} 1
pageserver::virtual_file::tests::test_atomic_overwrite_preexisting_tmp 2
pageserver::virtual_file::tests::test_atomic_overwrite_preexisting_tmp 1
pageserver::virtual_file::tests::test_atomic_overwrite_preexisting_tmp::{closure#0} 1
pageserver::virtual_file::tests::test_vfile_concurrency 2
pageserver::virtual_file::tests::test_vfile_concurrency 1
pageserver::virtual_file::tests::test_vfile_concurrency::{closure#0} 1
pageserver::virtual_file::tests::test_virtual_files 2
pageserver::virtual_file::tests::test_virtual_files 1
pageserver::virtual_file::tests::test_virtual_files::{closure#0} 1
pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0} 3
pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0}::{closure#0} 3
<pageserver::virtual_file::test_read_exact_at_impl::MockReadAt as core::ops::drop::Drop>::drop 4
<pageserver::virtual_file::test_read_exact_at_impl::MockReadAt>::read_at 6
<pageserver::virtual_file::test_read_exact_at_impl::MockReadAt>::read_at::{closure#0} 6
<pageserver::virtual_file::FileGuard>::with_std_file::<<pageserver::virtual_file::io_engine::IoEngine>::set_len::{closure#0}::{closure#0}, core::result::Result<(), std::io::error::Error>> 7
::with_std_file::<::metadata::{closure#0}::{closure#0}, core::result::Result> 0
::with_std_file::<::read_at>::{closure#0}::{closure#0}, core::result::Result> 0
::with_std_file::<::read_at::{closure#0}::{closure#0}, core::result::Result> 0
::with_std_file::<::read_at>>::{closure#0}::{closure#0}, core::result::Result> 0
::with_std_file::<::set_len::{closure#0}::{closure#0}, core::result::Result<(), std::io::error::Error>> 0
::with_std_file::<::sync_all::{closure#0}::{closure#0}, core::result::Result<(), std::io::error::Error>> 0
::with_std_file::<::sync_data::{closure#0}::{closure#0}, core::result::Result<(), std::io::error::Error>> 0
::with_std_file::<::write_at>>::{closure#0}::{closure#0}, core::result::Result> 0
::with_std_file::<::set_len::{closure#0}::{closure#1}, core::result::Result<(), std::io::error::Error>> 7
<pageserver::virtual_file::VirtualFile>::crashsafe_overwrite::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>> 11
::crashsafe_overwrite:: 0
::crashsafe_overwrite::, alloc::vec::Vec> 11
<pageserver::virtual_file::VirtualFile>::crashsafe_overwrite::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>>::{closure#0} 11
::crashsafe_overwrite::::{closure#0} 0
::crashsafe_overwrite::, alloc::vec::Vec>::{closure#0} 11
<pageserver::virtual_file::VirtualFile>::set_len 14
::set_len 7
::set_len::{closure#0} 7
<pageserver::virtual_file::VirtualFileInner>::crashsafe_overwrite::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>> 14
::crashsafe_overwrite:: 0
::crashsafe_overwrite::, alloc::vec::Vec> 14
<pageserver::virtual_file::VirtualFileInner>::crashsafe_overwrite::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>>::{closure#0} 14
::crashsafe_overwrite::::{closure#0} 0
::crashsafe_overwrite::, alloc::vec::Vec>::{closure#0} 14
<pageserver::virtual_file::VirtualFileInner>::crashsafe_overwrite::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>>::{closure#0}::{closure#0} 14
::crashsafe_overwrite::::{closure#0}::{closure#0} 0
::crashsafe_overwrite::, alloc::vec::Vec>::{closure#0}::{closure#0} 14
<pageserver::virtual_file::VirtualFileInner>::set_len 14
::set_len 7
::set_len::{closure#0} 7
pageserver::virtual_file::tests::test_vfile_concurrency::{closure#0}::{closure#0} 100
<pageserver::virtual_file::OpenFiles>::new 120
pageserver::virtual_file::IO_MODE::{closure#0} 120
pageserver::virtual_file::get_open_files::{closure#0} 120
pageserver::virtual_file::tests::test_virtual_files::{closure#0}::{closure#1} 201
pageserver::virtual_file::tests::test_virtual_files::{closure#0}::{closure#1}::{closure#1}::<_> 0
pageserver::virtual_file::tests::test_virtual_files::{closure#0}::{closure#1} 201
pageserver::virtual_file::tests::test_virtual_files::{closure#0}::{closure#1}::{closure#0}::<i16> 201
pageserver::virtual_file::tests::test_virtual_files::{closure#0}::{closure#0} 203
<pageserver::virtual_file::VirtualFile>::open::<&camino::Utf8Path> 505
::open::<&&camino::Utf8PathBuf> 0
::open::<&camino::Utf8Path> 0
::open::<&camino::Utf8PathBuf> 505
<pageserver::virtual_file::VirtualFile>::open::<&camino::Utf8PathBuf>::{closure#0} 505
::open::<&&camino::Utf8PathBuf>::{closure#0} 0
::open::<&camino::Utf8PathBuf>::{closure#0} 505
<pageserver::virtual_file::VirtualFileInner>::open::<&camino::Utf8Path> 505
::open::<&&camino::Utf8PathBuf> 0
::open::<&camino::Utf8Path> 0
::open::<&camino::Utf8PathBuf> 505
<pageserver::virtual_file::VirtualFileInner>::open::<&camino::Utf8Path>::{closure#0} 505
::open::<&&camino::Utf8PathBuf>::{closure#0} 0
::open::<&camino::Utf8Path>::{closure#0} 0
::open::<&camino::Utf8PathBuf>::{closure#0} 505
<pageserver::virtual_file::VirtualFile>::open_v2::<&camino::Utf8Path> 638
::open_v2::<&camino::Utf8PathBuf> 4
::open_v2:: 8
::open_v2::<&camino::Utf8Path> 626
<pageserver::virtual_file::VirtualFile>::open_v2::<&camino::Utf8Path>::{closure#0} 638
::open_v2::<&camino::Utf8PathBuf>::{closure#0} 4
::open_v2::::{closure#0} 8
::open_v2::<&camino::Utf8Path>::{closure#0} 626
<pageserver::virtual_file::VirtualFile>::path 751
<core::result::Result<(), std::io::error::Error> as pageserver::virtual_file::MaybeFatalIo<()>>::fatal_err 1029
, std::io::error::Error> as pageserver::virtual_file::MaybeFatalIo>>::fatal_err 0
as pageserver::virtual_file::MaybeFatalIo>::fatal_err 0
as pageserver::virtual_file::MaybeFatalIo>::fatal_err 0
as pageserver::virtual_file::MaybeFatalIo>::fatal_err 0
, std::io::error::Error> as pageserver::virtual_file::MaybeFatalIo>>::fatal_err 2
as pageserver::virtual_file::MaybeFatalIo>::fatal_err 4
, std::io::error::Error> as pageserver::virtual_file::MaybeFatalIo>>::fatal_err 6
as pageserver::virtual_file::MaybeFatalIo>::fatal_err 505
as pageserver::virtual_file::MaybeFatalIo<()>>::fatal_err 512
<pageserver::virtual_file::VirtualFile>::metadata 1834
::metadata 917
::metadata::{closure#0} 917
<pageserver::virtual_file::VirtualFileInner>::metadata 1834
::metadata 917
::metadata::{closure#0} 917
<pageserver::virtual_file::VirtualFileInner as core::ops::drop::Drop>::drop::clean_slot::{closure#0} 2378
<pageserver::virtual_file::VirtualFile>::open_with_options_v2::<&camino::Utf8Path> 2576
::open_with_options_v2:: 102
::open_with_options_v2::<&camino::Utf8Path> 650
::open_with_options_v2::<&camino::Utf8PathBuf> 1824
<pageserver::virtual_file::VirtualFile>::open_with_options_v2::<&camino::Utf8Path>::{closure#0} 2576
::open_with_options_v2::::{closure#0} 102
::open_with_options_v2::<&camino::Utf8Path>::{closure#0} 650
::open_with_options_v2::<&camino::Utf8PathBuf>::{closure#0} 1824
pageserver::virtual_file::get_io_mode 2576
<pageserver::virtual_file::VirtualFileInner as core::ops::drop::Drop>::drop 2663
<pageserver::virtual_file::VirtualFileInner as core::ops::drop::Drop>::drop::clean_slot 2663
<pageserver::virtual_file::VirtualFile>::sync_all 2856
::sync_all 1428
::sync_all::{closure#0} 1428
<pageserver::virtual_file::VirtualFileInner>::sync_all 2856
::sync_all 1428
::sync_all::{closure#0} 1428
<pageserver::virtual_file::VirtualFileInner>::open_with_options::<&camino::Utf8Path> 3081
::open_with_options:: 102
::open_with_options::<&camino::Utf8Path> 1155
::open_with_options::<&camino::Utf8PathBuf> 1824
<pageserver::virtual_file::VirtualFileInner>::open_with_options::<&camino::Utf8Path>::{closure#0} 3081
::open_with_options::::{closure#0} 102
::open_with_options::<&camino::Utf8Path>::{closure#0} 1155
::open_with_options::<&camino::Utf8PathBuf>::{closure#0} 1824
<pageserver::virtual_file::VirtualFile>::read_blk 5229
<pageserver::virtual_file::VirtualFile>::read_blk::{closure#0} 5229
<pageserver::virtual_file::VirtualFileInner>::read_blk 5229
<pageserver::virtual_file::VirtualFileInner>::read_blk::{closure#0} 5229
<pageserver::virtual_file::PageWriteGuardBuf as uring_common::buf::io_buf_mut::IoBufMut>::set_init 15395
<pageserver::virtual_file::PageWriteGuardBuf as uring_common::buf::io_buf_mut::IoBufMut>::stable_mut_ptr 15395
<pageserver::virtual_file::VirtualFile>::read_exact_at_page 15395
<pageserver::virtual_file::VirtualFile>::read_exact_at_page::{closure#0} 15395
<pageserver::virtual_file::VirtualFileInner>::read_exact_at_page 15395
<pageserver::virtual_file::VirtualFileInner>::read_exact_at_page::{closure#0} 15395
<pageserver::virtual_file::VirtualFileInner>::read_exact_at_page::{closure#0}::{closure#0} 15395
<pageserver::virtual_file::VirtualFile>::write_all_at::<pageserver::virtual_file::owned_buffers_io::aligned_buffer::buffer::AlignedBuffer<pageserver::virtual_file::owned_buffers_io::aligned_buffer::alignment::ConstAlign<512>>> 19766
<pageserver::virtual_file::VirtualFile>::write_all_at::<pageserver::virtual_file::owned_buffers_io::aligned_buffer::buffer::AlignedBuffer<pageserver::virtual_file::owned_buffers_io::aligned_buffer::alignment::ConstAlign<512>>>::{closure#0} 19766
<pageserver::virtual_file::VirtualFileInner>::write_all_at::<pageserver::virtual_file::owned_buffers_io::aligned_buffer::buffer::AlignedBuffer<pageserver::virtual_file::owned_buffers_io::aligned_buffer::alignment::ConstAlign<512>>> 19766
<pageserver::virtual_file::VirtualFileInner>::write_all_at::<pageserver::virtual_file::owned_buffers_io::aligned_buffer::buffer::AlignedBuffer<pageserver::virtual_file::owned_buffers_io::aligned_buffer::alignment::ConstAlign<512>>>::{closure#0} 19766
<pageserver::virtual_file::VirtualFileInner>::write_all_at::<pageserver::virtual_file::owned_buffers_io::aligned_buffer::buffer::AlignedBuffer<pageserver::virtual_file::owned_buffers_io::aligned_buffer::alignment::ConstAlign<512>>>::{closure#0}::{closure#0} 19766
<pageserver::virtual_file::VirtualFileInner>::write_at::<pageserver::virtual_file::owned_buffers_io::aligned_buffer::buffer::AlignedBuffer<pageserver::virtual_file::owned_buffers_io::aligned_buffer::alignment::ConstAlign<512>>> 19766
<pageserver::virtual_file::VirtualFileInner>::write_at::<pageserver::virtual_file::owned_buffers_io::aligned_buffer::buffer::AlignedBuffer<pageserver::virtual_file::owned_buffers_io::aligned_buffer::alignment::ConstAlign<512>>>::{closure#0} 19766
<pageserver::virtual_file::PageWriteGuardBuf as uring_common::buf::io_buf::IoBuf>::bytes_total 46185
<pageserver::virtual_file::PageWriteGuardBuf as uring_common::buf::io_buf::IoBuf>::stable_ptr 61580
<pageserver::virtual_file::OpenFiles>::find_victim_slot::{closure#0}::{closure#0} 96144
<pageserver::virtual_file::PageWriteGuardBuf as uring_common::buf::io_buf::IoBuf>::bytes_init 107765
<pageserver::virtual_file::OpenFiles>::find_victim_slot 197346
::find_victim_slot 98673
::find_victim_slot::{closure#0} 98673
<pageserver::virtual_file::VirtualFile>::read_exact_at::<pageserver::virtual_file::owned_buffers_io::aligned_buffer::buffer_mut::AlignedBufferMut<pageserver::virtual_file::owned_buffers_io::aligned_buffer::alignment::ConstAlign<512>>> 253452
<pageserver::virtual_file::VirtualFile>::read_exact_at::<pageserver::virtual_file::owned_buffers_io::aligned_buffer::buffer_mut::AlignedBufferMut<pageserver::virtual_file::owned_buffers_io::aligned_buffer::alignment::ConstAlign<512>>>::{closure#0} 253452
<pageserver::virtual_file::VirtualFileInner>::read_at::<alloc::vec::Vec<u8>> 274076
::read_at::> 0
::read_at:: 15395
::read_at::>> 258681
<pageserver::virtual_file::VirtualFileInner>::read_at::<alloc::vec::Vec<u8>>::{closure#0} 274076
::read_at::>::{closure#0} 0
::read_at::::{closure#0} 15395
::read_at::>>::{closure#0} 258681
<pageserver::virtual_file::VirtualFileInner>::read_exact_at::<pageserver::virtual_file::PageWriteGuardBuf> 274076
::read_exact_at:: 15395
::read_exact_at::>> 258681
<pageserver::virtual_file::VirtualFileInner>::read_exact_at::<pageserver::virtual_file::PageWriteGuardBuf>::{closure#0} 274076
::read_exact_at::::{closure#0} 15395
::read_exact_at::>>::{closure#0} 258681
<pageserver::virtual_file::VirtualFileInner>::read_exact_at::<pageserver::virtual_file::PageWriteGuardBuf>::{closure#0}::{closure#0} 274076
::read_exact_at::::{closure#0}::{closure#0} 15395
::read_exact_at::>>::{closure#0}::{closure#0} 258681
<pageserver::virtual_file::VirtualFileInner>::read_exact_at::<pageserver::virtual_file::PageWriteGuardBuf>::{closure#0}::{closure#1} 274076
::read_exact_at::::{closure#0}::{closure#1} 15395
::read_exact_at::>>::{closure#0}::{closure#1} 258681
pageserver::virtual_file::read_exact_at_impl::<alloc::vec::Vec<u8>, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}::{closure#0}> 274080
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}::{closure#0}> 1
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0}::{closure#0}> 1
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0}::{closure#0}> 1
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0}::{closure#0}> 1
pageserver::virtual_file::read_exact_at_impl::::read_exact_at::{closure#0}::{closure#0}, ::read_at::{closure#0}> 15395
pageserver::virtual_file::read_exact_at_impl::>, ::read_exact_at>>::{closure#0}::{closure#0}, ::read_at>>::{closure#0}> 258681
pageserver::virtual_file::read_exact_at_impl::<alloc::vec::Vec<u8>, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 274080
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 1
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 1
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 1
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 1
pageserver::virtual_file::read_exact_at_impl::::read_exact_at::{closure#0}::{closure#0}, ::read_at::{closure#0}>::{closure#0} 15395
pageserver::virtual_file::read_exact_at_impl::>, ::read_exact_at>>::{closure#0}::{closure#0}, ::read_at>>::{closure#0}>::{closure#0} 258681
<pageserver::virtual_file::VirtualFileInner>::validate_direct_io 293842
<pageserver::virtual_file::FileGuard as uring_common::io_fd::IoFd>::as_fd 296187
<pageserver::virtual_file::FileGuard as core::convert::AsRef<std::os::fd::owned::OwnedFd>>::as_ref 296194
pageserver::virtual_file::get_open_files 301938
<core::result::Result<(), std::io::error::Error> as pageserver::virtual_file::MaybeFatalIo<()>>::maybe_fatal_err 582849
as pageserver::virtual_file::MaybeFatalIo<()>>::maybe_fatal_err 14931
as pageserver::virtual_file::MaybeFatalIo>::maybe_fatal_err 274076
as pageserver::virtual_file::MaybeFatalIo>::maybe_fatal_err 293842
<pageserver::virtual_file::VirtualFileInner>::lock_file 592388
::lock_file 296194
::lock_file::{closure#0} 296194

Generated by: LCOV version 2.1-beta