lib/nfs/Base: kludge to reduce number of NFS mounts

Creating a NfsStorage sets its own export_name as the "base".  Now
NfsFileReader can use this information to derive the export_name to be
mounted, instead of guessing.  This solves the "too many connection"
problem on the NFS server while updating the database.
This commit is contained in:
Max Kellermann
2014-10-05 07:41:50 +02:00
parent fb90b64bac
commit b1a252a64d
5 changed files with 128 additions and 7 deletions

View File

@@ -23,6 +23,7 @@
#include "storage/StorageInterface.hxx"
#include "storage/FileInfo.hxx"
#include "lib/nfs/Domain.hxx"
#include "lib/nfs/Base.hxx"
#include "fs/AllocatedPath.hxx"
#include "util/Error.hxx"
#include "thread/Mutex.hxx"
@@ -256,6 +257,8 @@ CreateNfsStorageURI(const char *base, Error &error)
return nullptr;
}
nfs_set_base(server.c_str(), mount);
return new NfsStorage(base, ctx);
}