aboutsummaryrefslogtreecommitdiffstats
path: root/src/storage (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-05-29storage/nfs: fix deadlock when connectingThomas Guillem1-2/+2
The Connect method can be called between Schedule and lock. In that case, when locked, the state is already set to CONNECTING of READY and the condition won't be signaled anymore.
2014-12-26db/simple: fix implicit nullptr/bool conversionMax Kellermann1-1/+1
Return false on error, not nullptr.
2014-12-15storage/nfs: clear last_error in SetState()Max Kellermann1-0/+1
Fixes bogus assertion failure.
2014-10-09storage/nfs: use the libnfs async APIMax Kellermann1-49/+228
Share the NFS connection with the NFS input plugin.
2014-10-09StoragePlugin: pass EventLoop to constructorMax Kellermann7-11/+18
2014-10-07storage/nfs: move code to class MemoryStorageDirectoryReaderMax Kellermann3-73/+150
Read all directory entries into memory and close the struct nfsdir before returning the StorageDirectoryReader instance. This is what libnfs does, anyway.
2014-10-07storage/nfs: move code to Copy()Max Kellermann1-18/+30
2014-10-05lib/nfs/Base: kludge to reduce number of NFS mountsMax Kellermann1-0/+3
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.
2014-10-02storage: remove redundant "virtual" keywordsMax Kellermann5-38/+34
"override" implies "virtual".
2014-10-01storage/Interface: include cleanupMax Kellermann3-2/+6
2014-10-01storage/nfs: make a few attributes "const"Max Kellermann1-3/+3
2014-09-28storage/nfs: convert file name to UTF-8Max Kellermann1-8/+30
Assume the configured filesystem character set is also used by the NFS server.
2014-09-28storage/nfs: use string::append() instead of string::insert()Max Kellermann1-3/+2
Swap the order of adding the URI and the slash, because appending is cheaper than inserting.
2014-09-28storage/nfs: move code to UriToNfsPath()Max Kellermann1-6/+13
2014-03-01storage/Configured: fix fallback music directoryMax Kellermann1-4/+1
This was accidently disabled when storage plugins were introduced.
2014-02-27CompositeStorage: add method GetMount()Max Kellermann2-0/+24
2014-02-19DatabasePlugin: add FLAG_REQUIRE_STORAGEMax Kellermann2-0/+14
Ignore the storage configuration if FLAG_REQUIRE_STORAGE is not set in the DatabasePlugin.
2014-02-12CompositeStorage: fix tree walk in Directory::Unmount()Max Kellermann1-1/+4
2014-02-12StorageCommands: add command "listmounts"Max Kellermann1-0/+32
2014-02-09CompositeStorage: new Storage implementationMax Kellermann2-0/+467
This is the backend for the upcoming "mount" command.
2014-02-09Main: move code to storage/Configured.cxxMax Kellermann2-0/+114
2014-02-08storage/nfs: new storage pluginMax Kellermann3-0/+271
2014-02-07storage: add struct StoragePlugin and a plugin registryMax Kellermann7-6/+167
2014-02-07storage/local: remove utf8 path from constructorMax Kellermann2-6/+9
Build the UTF-8 version of the path automatically in the constructor.
2014-02-07StoragePlugin: add method MapToRelativeUTF8()Max Kellermann3-0/+24
Replaces map_to_relative_path() from Mapper.cxx.
2014-02-07storage/local: hide the class declarationsMax Kellermann2-47/+61
Hide inside CreateLocalStorage().
2014-02-06*/smbclient: protect all libsmbclient calls with a mutexMax Kellermann1-1/+15
libsmbclient is not thread-safe nor reentrant. We must protect all function calls with a global mutex, unfortunately.
2014-02-06storage/smbclient: Storage implementation using libsmbclientMax Kellermann2-0/+211
2014-02-05storage/local: OpenDirectory() returns StorageDirectoryReader*Max Kellermann2-3/+3
2014-02-05storage/Interface: explicitly delete copy constructorsMax Kellermann2-2/+4
2014-02-05storage/local: move to src/storage/plugins/Max Kellermann2-2/+2
2014-02-05storage: add abstract interfaceMax Kellermann4-38/+123
Prepare for the plugin interface.
2014-02-05LocalStorage: new API abstracting filesystem walkMax Kellermann3-0/+305
Prepare to make this a new plugin API, for example to use a SMB share for the music_directory.