vfs: add modification time member to directory_service

Issue #1784.
This commit is contained in:
Josef Söntgen
2019-03-20 15:01:34 +01:00
committed by Christian Helmuth
parent 400039e1b6
commit 9a82bbb54d
7 changed files with 117 additions and 1 deletions

View File

@@ -91,6 +91,8 @@ class Vfs::Rump_file_system : public File_system
Genode::error("Rump_vfs_handle::write() called");
return WRITE_ERR_INVALID;
}
virtual void update_modification_timestamp(Vfs::Timestamp) { }
};
class Rump_vfs_file_handle :
@@ -163,6 +165,17 @@ class Vfs::Rump_file_system : public File_system
out_count = n;
return WRITE_OK;
}
void update_modification_timestamp(Vfs::Timestamp time) override
{
struct timespec ts[2] = {
{ .tv_sec = 0, .tv_nsec = 0 },
{ .tv_sec = time.value, .tv_nsec = 0 }
};
/* silently igore error */
rump_sys_futimens(_fd, (const timespec*)&ts);
}
};
class Rump_vfs_dir_handle : public Rump_vfs_handle
@@ -806,6 +819,12 @@ class Vfs::Rump_file_system : public File_system
_notify_files();
return SYNC_OK;
}
bool update_modification_timestamp(Vfs_handle *vfs_handle,
Vfs::Timestamp ts)
{
return true;
}
};