1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-19 00:39:37 +01:00

Merge branch 'overlayfs-store' into delete

This commit is contained in:
John Ericson 2023-07-26 12:01:08 -04:00
commit 621bdbdb31
9 changed files with 108 additions and 8 deletions

View file

@ -41,6 +41,13 @@ struct LocalOverlayStoreConfig : virtual LocalStoreConfig
default, but can be disabled if needed.
)"};
const PathSetting remountHook{(StoreConfig*) this, "", "remount-hook",
R"(
Script or program to run when overlay filesystem needs remounting.
TODO: Document this in more detail.
)"};
const std::string name() override { return "Experimental Local Overlay Store"; }
std::string doc() override
@ -111,7 +118,9 @@ private:
void queryRealisationUncached(const DrvOutput&,
Callback<std::shared_ptr<const Realisation>> callback) noexcept override;
void deleteGCPath(const Path & path, uint64_t & bytesFreed) override;
void collectGarbage(const GCOptions & options, GCResults & results) override;
void deleteStorePath(const Path & path, uint64_t & bytesFreed) override;
void optimiseStore() override;
@ -125,6 +134,10 @@ private:
* Deletion only effects the upper layer, so we ignore lower-layer referrers.
*/
void queryGCReferrers(const StorePath & path, StorePathSet & referrers) override;
void remountIfNecessary();
std::atomic_bool _remountRequired = false;
};
}