diff --git a/NEWS b/NEWS
index 75f995222..e5cc341d0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
ver 0.19 (not yet released)
* protocol
- - new commands "addtagid", "cleartagid", "listfiles", "rangeid"
+ - new commands "addtagid", "cleartagid", "listfiles", "listmounts",
+ "listneighbors", "mount", "rangeid", "unmount"
- "lsinfo" and "readcomments" allowed for remote files
- "listneighbors" lists file servers on the local network
- "playlistadd" supports file:///
diff --git a/doc/protocol.xml b/doc/protocol.xml
index 5e2043d48..858ca0990 100644
--- a/doc/protocol.xml
+++ b/doc/protocol.xml
@@ -1892,6 +1892,113 @@ OK
+
+ Mounts and neighbors
+
+
+ A "storage" provides access to files in a directory tree. The
+ most basic storage plugin is the "local" storage plugin which
+ accesses the local file system, and there are plugins to
+ access NFS and SMB servers.
+
+
+
+ Multiple storages can be "mounted" together, similar to the
+ mount command on many operating
+ systems, but without cooperation from the kernel. No
+ superuser privileges are necessary, beause this mapping exists
+ only inside the MPD process
+
+
+
+
+
+
+
+ mount
+ PATH
+ URI
+
+
+
+
+
+ Mount the specified remote storage URI at the given
+ path. Example:
+
+
+ mount foo nfs://192.168.1.4/export/mp3
+
+
+
+
+
+
+ unmount
+ PATH
+
+
+
+
+
+ Unmounts the specified path. Example:
+
+
+ unmount foo
+
+
+
+
+
+
+ listmounts
+
+
+
+
+
+ Queries a list of all mounts. By default, this contains
+ just the configured music_directory.
+ Example:
+
+
+ listmounts
+mount:
+storage: /home/foo/music
+mount: foo
+storage: nfs://192.168.1.4/export/mp3
+OK
+
+
+
+
+
+
+
+ listneighbors
+
+
+
+
+
+ Queries a list of "neighbors" (e.g. accessible file
+ servers on the local net). Items on that list may be
+ used with the mount
+ command. Example:
+
+
+ listneighbors
+neighbor: smb://FOO
+name: FOO (Samba 4.1.11-Debian)
+OK
+
+
+
+
+
+
+
Stickers
diff --git a/doc/user.xml b/doc/user.xml
index 82b5c9866..bc43a4167 100644
--- a/doc/user.xml
+++ b/doc/user.xml
@@ -253,6 +253,57 @@ systemctl start mpd.socket
+
+ Configuring neighbor plugins
+
+
+ All neighbor plugins are disabled by default to avoid unwanted
+ overhead. To enable (and configure) a plugin, add a
+ neighbor block to
+ mpd.conf:
+
+
+ neighbors {
+ plugin "smbclient"
+}
+
+
+
+ The following table lists the neighbor
+ options valid for all plugins:
+
+
+
+
+
+
+
+ Name
+
+
+ Description
+
+
+
+
+
+
+ plugin
+
+
+ The name of the plugin.
+
+
+
+
+
+
+
+ More information can be found in the neighbor plugin reference.
+
+
+
Configuring input plugins
@@ -1407,6 +1458,18 @@ buffer_size: 16384
+
+
+ cache_directory
+
+
+ The path of the cache directory for additional
+ storages mounted at runtime. This setting is
+ necessary for the mount protocol
+ command.
+
+
+
compress
@@ -1535,6 +1598,26 @@ buffer_size: 16384
+
+ Neighbor plugins
+
+
+ smbclient
+
+
+ Provides a list of SMB/CIFS servers on the local network.
+
+
+
+
+ upnp
+
+
+ Provides a list of UPnP servers on the local network.
+
+
+
+
Input plugins