From d7c2a5cd7fe29a384c76d89a35c49c17a9864504 Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Mon, 6 Oct 2014 14:12:45 +0200 Subject: [PATCH] VFS: acquire tar dataspace only once Fixes #1271 --- repos/os/include/vfs/tar_file_system.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/repos/os/include/vfs/tar_file_system.h b/repos/os/include/vfs/tar_file_system.h index 7170f41501..8ecb4013d8 100644 --- a/repos/os/include/vfs/tar_file_system.h +++ b/repos/os/include/vfs/tar_file_system.h @@ -37,8 +37,9 @@ class Vfs::Tar_file_system : public File_system Genode::Rom_connection _rom; - char *_tar_base; - file_size _tar_size; + Genode::Dataspace_capability _tar_ds; + char *_tar_base; + file_size _tar_size; class Record { @@ -353,8 +354,9 @@ class Vfs::Tar_file_system : public File_system Tar_file_system(Xml_node config) : _rom_name(config), _rom(_rom_name.name), - _tar_base(env()->rm_session()->attach(_rom.dataspace())), - _tar_size(Dataspace_client(_rom.dataspace()).size()), + _tar_ds(_rom.dataspace()), + _tar_base(env()->rm_session()->attach(_tar_ds)), + _tar_size(Dataspace_client(_tar_ds).size()), _root_node("", 0), _cached_num_dirent(_root_node) {