Commit 2a16fc74 authored by Max Kellermann's avatar Max Kellermann

CompositeStorage: add method GetMount()

parent f6525468
......@@ -210,6 +210,19 @@ CompositeStorage::~CompositeStorage()
{
}
Storage *
CompositeStorage::GetMount(const char *uri)
{
const ScopeLock protect(mutex);
auto result = FindStorage(uri);
if (*result.uri != 0)
/* not a mount point */
return nullptr;
return result.directory->storage;
}
void
CompositeStorage::Mount(const char *uri, Storage *storage)
{
......
......@@ -96,6 +96,17 @@ public:
virtual ~CompositeStorage();
/**
* Get the #Storage at the specified mount point. Returns
* nullptr if the given URI is not a mount point.
*
* The returned pointer is unprotected. No other thread is
* allowed to unmount the given mount point while the return
* value is being used.
*/
gcc_pure gcc_nonnull_all
Storage *GetMount(const char *uri);
/**
* Call the given function for each mounted storage, including
* the root storage. Passes mount point URI and the a const
* Storage reference to the function.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment