Skip to content
Snippets Groups Projects
Unverified Commit 79725289 authored by teor's avatar teor
Browse files

If we do underflow the know usage of a storage, recalculate it

Fixes bug #22424 on 0.3.1.1-alpha.
parent 69b234a0
No related branches found
No related tags found
No related merge requests found
......@@ -418,6 +418,16 @@ storage_dir_reduce_usage(storage_dir_t *d, uint64_t removed_file_size)
* actual usage (rather than relaying on cached usage), and the call to
* this function. */
d->usage -= removed_file_size;
} else {
/* If we underflowed the cached directory size, re-check the sizes of all
* the files in the directory. This makes storage_dir_shrink() quadratic,
* but only if a process is continually changing file sizes in the
* storage directory (in which case, we have bigger issues).
*
* We can't just reset usage_known, because storage_dir_shrink() relies
* on knowing the usage. */
storage_dir_rescan(d);
(void)storage_dir_get_usage(d);
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment