Index: uspace/srv/fs/devfs/devfs.c
===================================================================
--- uspace/srv/fs/devfs/devfs.c	(revision 6a4e9723578a5975a92f37f68b01835aa5ce1776)
+++ uspace/srv/fs/devfs/devfs.c	(revision 3c11713f9fe58a2b3a19f2e9e4bfc0f709a63c2e)
@@ -75,4 +75,10 @@
 			devfs_mount(callid, &call);
 			break;
+		case VFS_OUT_UNMOUNTED:
+			devfs_unmounted(callid, &call);
+			break;
+		case VFS_OUT_UNMOUNT:
+			devfs_unmount(callid, &call);
+			break;
 		case VFS_OUT_LOOKUP:
 			devfs_lookup(callid, &call);
Index: uspace/srv/fs/devfs/devfs_ops.c
===================================================================
--- uspace/srv/fs/devfs/devfs_ops.c	(revision 6a4e9723578a5975a92f37f68b01835aa5ce1776)
+++ uspace/srv/fs/devfs/devfs_ops.c	(revision 3c11713f9fe58a2b3a19f2e9e4bfc0f709a63c2e)
@@ -434,4 +434,14 @@
 }
 
+void devfs_unmounted(ipc_callid_t rid, ipc_call_t *request)
+{
+	ipc_answer_0(rid, ENOTSUP);
+}
+
+void devfs_unmount(ipc_callid_t rid, ipc_call_t *request)
+{
+	libfs_unmount(&devfs_libfs_ops, rid, request);
+}
+
 void devfs_lookup(ipc_callid_t rid, ipc_call_t *request)
 {
Index: uspace/srv/fs/devfs/devfs_ops.h
===================================================================
--- uspace/srv/fs/devfs/devfs_ops.h	(revision 6a4e9723578a5975a92f37f68b01835aa5ce1776)
+++ uspace/srv/fs/devfs/devfs_ops.h	(revision 3c11713f9fe58a2b3a19f2e9e4bfc0f709a63c2e)
@@ -41,4 +41,6 @@
 extern void devfs_mounted(ipc_callid_t, ipc_call_t *);
 extern void devfs_mount(ipc_callid_t, ipc_call_t *);
+extern void devfs_unmounted(ipc_callid_t, ipc_call_t *);
+extern void devfs_unmount(ipc_callid_t, ipc_call_t *);
 extern void devfs_lookup(ipc_callid_t, ipc_call_t *);
 extern void devfs_open_node(ipc_callid_t, ipc_call_t *);
Index: uspace/srv/fs/fat/fat.c
===================================================================
--- uspace/srv/fs/fat/fat.c	(revision 6a4e9723578a5975a92f37f68b01835aa5ce1776)
+++ uspace/srv/fs/fat/fat.c	(revision 3c11713f9fe58a2b3a19f2e9e4bfc0f709a63c2e)
@@ -100,4 +100,10 @@
 			fat_mount(callid, &call);
 			break;
+		case VFS_OUT_UNMOUNTED:
+			fat_unmounted(callid, &call);
+			break;
+		case VFS_OUT_UNMOUNT:
+			fat_unmount(callid, &call);
+			break;
 		case VFS_OUT_LOOKUP:
 			fat_lookup(callid, &call);
Index: uspace/srv/fs/fat/fat.h
===================================================================
--- uspace/srv/fs/fat/fat.h	(revision 6a4e9723578a5975a92f37f68b01835aa5ce1776)
+++ uspace/srv/fs/fat/fat.h	(revision 3c11713f9fe58a2b3a19f2e9e4bfc0f709a63c2e)
@@ -204,4 +204,6 @@
 extern void fat_mounted(ipc_callid_t, ipc_call_t *);
 extern void fat_mount(ipc_callid_t, ipc_call_t *);
+extern void fat_unmounted(ipc_callid_t, ipc_call_t *);
+extern void fat_unmount(ipc_callid_t, ipc_call_t *);
 extern void fat_lookup(ipc_callid_t, ipc_call_t *);
 extern void fat_read(ipc_callid_t, ipc_call_t *);
Index: uspace/srv/fs/fat/fat_ops.c
===================================================================
--- uspace/srv/fs/fat/fat_ops.c	(revision 6a4e9723578a5975a92f37f68b01835aa5ce1776)
+++ uspace/srv/fs/fat/fat_ops.c	(revision 3c11713f9fe58a2b3a19f2e9e4bfc0f709a63c2e)
@@ -1117,4 +1117,14 @@
 }
 
+void fat_unmounted(ipc_callid_t rid, ipc_call_t *request)
+{
+	ipc_answer_0(rid, ENOTSUP);
+}
+
+void fat_unmount(ipc_callid_t rid, ipc_call_t *request)
+{
+	libfs_unmount(&fat_libfs_ops, rid, request);
+}
+
 void fat_lookup(ipc_callid_t rid, ipc_call_t *request)
 {
Index: uspace/srv/fs/tmpfs/tmpfs.c
===================================================================
--- uspace/srv/fs/tmpfs/tmpfs.c	(revision 6a4e9723578a5975a92f37f68b01835aa5ce1776)
+++ uspace/srv/fs/tmpfs/tmpfs.c	(revision 3c11713f9fe58a2b3a19f2e9e4bfc0f709a63c2e)
@@ -106,4 +106,10 @@
 			tmpfs_mount(callid, &call);
 			break;
+		case VFS_OUT_UNMOUNTED:
+			tmpfs_unmounted(callid, &call);
+			break;
+		case VFS_OUT_UNMOUNT:
+			tmpfs_unmount(callid, &call);
+			break;
 		case VFS_OUT_LOOKUP:
 			tmpfs_lookup(callid, &call);
Index: uspace/srv/fs/tmpfs/tmpfs.h
===================================================================
--- uspace/srv/fs/tmpfs/tmpfs.h	(revision 6a4e9723578a5975a92f37f68b01835aa5ce1776)
+++ uspace/srv/fs/tmpfs/tmpfs.h	(revision 3c11713f9fe58a2b3a19f2e9e4bfc0f709a63c2e)
@@ -83,4 +83,6 @@
 extern void tmpfs_mounted(ipc_callid_t, ipc_call_t *);
 extern void tmpfs_mount(ipc_callid_t, ipc_call_t *);
+extern void tmpfs_unmounted(ipc_callid_t, ipc_call_t *);
+extern void tmpfs_unmount(ipc_callid_t, ipc_call_t *);
 extern void tmpfs_lookup(ipc_callid_t, ipc_call_t *);
 extern void tmpfs_read(ipc_callid_t, ipc_call_t *);
Index: uspace/srv/fs/tmpfs/tmpfs_ops.c
===================================================================
--- uspace/srv/fs/tmpfs/tmpfs_ops.c	(revision 6a4e9723578a5975a92f37f68b01835aa5ce1776)
+++ uspace/srv/fs/tmpfs/tmpfs_ops.c	(revision 3c11713f9fe58a2b3a19f2e9e4bfc0f709a63c2e)
@@ -449,4 +449,14 @@
 }
 
+void tmpfs_unmounted(ipc_callid_t rid, ipc_call_t *request)
+{
+	ipc_answer_0(rid, ENOTSUP);
+}
+
+void tmpfs_unmount(ipc_callid_t rid, ipc_call_t *request)
+{
+	libfs_unmount(&tmpfs_libfs_ops, rid, request);
+}
+
 void tmpfs_lookup(ipc_callid_t rid, ipc_call_t *request)
 {
