1.1 --- a/libfsserver/lib/files/file_pager.cc Tue Feb 14 21:05:14 2023 +0100
1.2 +++ b/libfsserver/lib/files/file_pager.cc Tue Feb 14 23:36:10 2023 +0100
1.3 @@ -1,7 +1,7 @@
1.4 /*
1.5 * File-specific pager functionality.
1.6 *
1.7 - * Copyright (C) 2021, 2022 Paul Boddie <paul@boddie.org.uk>
1.8 + * Copyright (C) 2021, 2022, 2023 Paul Boddie <paul@boddie.org.uk>
1.9 *
1.10 * This program is free software; you can redistribute it and/or
1.11 * modify it under the terms of the GNU General Public License as
1.12 @@ -25,6 +25,7 @@
1.13 #include "copied_page_mapper.h"
1.14 #include "file_pager.h"
1.15 #include "mapped_file_object_server.h"
1.16 +#include "resource_server.h"
1.17
1.18
1.19
1.20 @@ -76,6 +77,20 @@
1.21 return err;
1.22 }
1.23
1.24 +long FilePager::reopen(flags_t flags, offset_t *size, l4_cap_idx_t *file,
1.25 + object_flags_t *object_flags)
1.26 +{
1.27 + Resource *resource;
1.28 + long err = _provider->make_resource(flags, size, object_flags, &resource);
1.29 +
1.30 + if (err)
1.31 + return err;
1.32 +
1.33 + _provider->notify_all(NOTIFY_FILE_OPENED);
1.34 +
1.35 + return ResourceServer(resource).start_thread(file);
1.36 +}
1.37 +
1.38 long FilePager::resize(offset_t *size)
1.39 {
1.40 offset_t old_size = get_data_size();