genode/repos/os/include
Norman Feske cc9368ccb4 os: add File_system_session::num_entries RPC
This patch splits the querying of the number of directory entries from
the directory's 'status' information. Subsuming the number of directory
entries as part of the status makes 'stat' calls too costly for some
file systems that need to read a directory for determining the number of
entries. So when stat'ing the entries of one directory that contains sub
directories, all entries of each sub directory are visited.

Thanks to Cedric Degea for pointing out this performance bottleneck!

With this change, the 'status' function returns a 'Status::size' value
of 0 when called for a directory handle.

Fixes #4603
2022-09-19 14:00:35 +02:00
..
audio_in_session audio_in_session: fix wrong buffer in content 2022-08-10 13:33:04 +02:00
audio_out_session Audio_out::Stream: initialize members 2022-01-19 12:38:12 +01:00
blit os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
block Remove unneeded session_size check 2022-08-10 13:32:57 +02:00
block_session os: simplify split block operations 2022-04-13 14:08:15 +02:00
capture_session Capture session interface 2020-07-13 11:33:13 +02:00
decorator Create Point, Area, Rect via 'from_xml' functions 2022-08-31 09:32:08 +02:00
event_session event_session: make Session_client::Batch abstract 2020-08-25 11:49:43 +02:00
file_system file_system/util.h: remove packet-stream helpers 2022-02-15 10:11:10 +01:00
file_system_session os: add File_system_session::num_entries RPC 2022-09-19 14:00:35 +02:00
framebuffer_session Change pixel format to 32 bits per pixel 2020-06-29 14:22:29 +02:00
genode_c_api usb_host: acknowledge all requests asynchronously 2022-09-19 14:00:33 +02:00
gpio os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
gpio_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
gpu gpu: add information for lima driver 2022-08-10 13:33:00 +02:00
gpu_session gpu_session: add PPGTT address query function 2022-08-10 13:33:00 +02:00
gui_session Change pixel format to 32 bits per pixel 2020-06-29 14:22:29 +02:00
i2c_session os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
init Adaptation to init refactoring 2017-03-24 16:19:56 +01:00
input os: Input::Event:Axis event type 2022-02-15 10:17:28 +01:00
input_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
ldso Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
legacy/x86 legacy_platform_drv: ACPI devices in configuration 2022-08-10 13:33:00 +02:00
loader_session Rename 'Nitpicker' namespace to 'Gui' 2020-06-22 09:39:40 +02:00
mixer os: avoid using deprecated APIs 2019-01-30 13:49:54 +01:00
net nic_router: no ICMP on unroutable IPv4 multicast 2022-08-17 12:26:01 +02:00
nic Remove unused Nic::Root implementation (nic/root.h) 2022-05-25 12:19:31 +02:00
nic_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
nitpicker_gfx os: Don't use char as array subscript. 2022-02-15 10:23:58 +01:00
os xml_node: change with_sub_node signature 2022-09-19 14:00:33 +02:00
packet_stream_rx os: remove blocking semantics from packet stream 2022-02-15 10:10:03 +01:00
packet_stream_tx os: remove blocking semantics from packet stream 2022-02-15 10:10:03 +01:00
pci pci: export BAR indices, sub-vendor, -product, rev 2022-08-10 13:33:03 +02:00
pin_control_session os: Pin_control and Pin_state session interfaces 2021-11-29 15:10:52 +01:00
pin_state_session os: Pin_control and Pin_state session interfaces 2021-11-29 15:10:52 +01:00
platform_session platform_drv: wait for device's availability 2022-05-25 12:19:32 +02:00
pointer os: avoid garbage warnings in app/painter 2019-01-07 12:25:45 +01:00
ram_fs os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
report_rom Remove unneeded session_size check 2022-08-10 13:32:57 +02:00
report_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
rtc_session rtc: extended session with set-signal 2019-08-21 12:37:01 +02:00
sandbox separate sandbox api from os 2021-06-25 11:41:45 +02:00
smbios os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
spec os: deprecate platform API for x86, rpi, imx53 2022-01-19 12:38:12 +01:00
terminal os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
terminal_session os: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
trace trace: add trace_eth_packet event 2022-08-17 12:03:07 +02:00
uart_session os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
uplink_session os: introduce new "Uplink" session 2021-01-25 13:48:09 +01:00
usb os: avoid implicit conversions 2021-12-17 15:04:45 +01:00
usb_session Declare missing exception types thrown in USB session 2022-08-31 09:32:09 +02:00
util util/geometry: support 'Rect::from_xml' 2022-08-17 14:28:12 +02:00
vfs xml_node: support backslash as attribute value 2022-02-21 15:44:22 +01:00
virtio Convert virtio to use Platform::Session::dma_addr 2022-02-15 10:17:28 +01:00