# HG changeset patch # User Paul Boddie # Date 1653774768 -7200 # Node ID 56b3134d0c50d063c8aef7c321c9f379939d8b14 # Parent 86957db2f4f014ac4b62c2bc84bfcc4e3e59e7dc Simplified the page collection interface slightly. diff -r 86957db2f4f0 -r 56b3134d0c50 libfsserver/include/fsserver/pages.h --- a/libfsserver/include/fsserver/pages.h Sat May 28 00:59:04 2022 +0200 +++ b/libfsserver/include/fsserver/pages.h Sat May 28 23:52:48 2022 +0200 @@ -1,7 +1,7 @@ /* * A page collection abstraction providing pages from a queue to users. * - * Copyright (C) 2021 Paul Boddie + * Copyright (C) 2021, 2022 Paul Boddie * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -36,13 +36,13 @@ Memory *_memory; PageQueue *_queue; + virtual Flexpage *remove(); + public: explicit Pages(Memory *memory, PageQueue *queue); virtual ~Pages(); - virtual Flexpage *remove(); - virtual bool reserve(PageOwner *owner, Flexpage *flexpage); virtual Flexpage *flexpage(); diff -r 86957db2f4f0 -r 56b3134d0c50 libfsserver/lib/mapping/page_mapper.cc --- a/libfsserver/lib/mapping/page_mapper.cc Sat May 28 00:59:04 2022 +0200 +++ b/libfsserver/lib/mapping/page_mapper.cc Sat May 28 23:52:48 2022 +0200 @@ -130,11 +130,6 @@ { Flexpage *flexpage = _pages->flexpage(); - /* Obtain an existing flexpage and reuse it. */ - - if (flexpage == NULL) - flexpage = _pages->remove(); - flexpage->reset(offset); fill(flexpage); diff -r 86957db2f4f0 -r 56b3134d0c50 libfsserver/lib/pages/pages.cc --- a/libfsserver/lib/pages/pages.cc Sat May 28 00:59:04 2022 +0200 +++ b/libfsserver/lib/pages/pages.cc Sat May 28 23:52:48 2022 +0200 @@ -1,7 +1,7 @@ /* * A page collection abstraction providing pages from a queue to users. * - * Copyright (C) 2021 Paul Boddie + * Copyright (C) 2021, 2022 Paul Boddie * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -19,8 +19,6 @@ * Boston, MA 02110-1301, USA */ -#include - #include "pages.h" @@ -68,7 +66,7 @@ if (region != NULL) return new Flexpage(region); else - return NULL; + return remove(); } /* Queue an entry associating the given 'owner' and 'flexpage'. */