[PATCH 1/2] Split return functionality of get_non_stale_global_range.

Andrew MacLeod amacleod@redhat.com
Tue Nov 23 17:02:22 GMT 2021

This is the first of 2 patches which will reduce the depth of the call 
chain in ranger.

This patch simply splits the functionality of the routine 
get_non_stale_global_range() from a single boolean return to a boolean 
return and a bool reference.

This routine queries the global cache for a value.  If  there is no 
value, it queries the legacy global range and sets it to that value.  If 
there was a value, it checks the temporal cache to see if its current, 
and if it is, returns TRUe plus the range.

If the value is not currrent, or it was set to the legacy global value, 
then the timestamp is marked as "always current" as it indicates a 
calculation is ongoing, and we dont want to trigger any additional 
temporal faults until the calculation is done. And finallt FALSE is 
returned for all these cases.

The second patch in the series wants to disambiguate at the call site 
whether this was a failure due to not being in the global cache, or 
whether it was due to the timestamp being out of date and take different 
actions for each case.   Details in the following note.

This has been Bootstrapped on x86_64-pc-linux-gnu with no regressions.  OK?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Split-return-functionality-of-get_non_stale_global_r.patch
Type: text/x-patch
Size: 6035 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20211123/c92c197c/attachment-0001.bin>

More information about the Gcc-patches mailing list