Index: uspace/srv/fs/tmpfs/tmpfs.c
===================================================================
--- uspace/srv/fs/tmpfs/tmpfs.c	(revision 40257f573530dfd8a6fe333cbdf01104c782effa)
+++ uspace/srv/fs/tmpfs/tmpfs.c	(revision f49b0eaadf4b224dc91c8ee7dec365d4bff11b1c)
@@ -62,4 +62,5 @@
 		[IPC_METHOD_TO_VFS_OP(VFS_TRUNCATE)] = VFS_OP_DEFINED,
 		[IPC_METHOD_TO_VFS_OP(VFS_MOUNT)] = VFS_OP_DEFINED,
+		[IPC_METHOD_TO_VFS_OP(VFS_MOUNTED)] = VFS_OP_DEFINED,
 		[IPC_METHOD_TO_VFS_OP(VFS_UNMOUNT)] = VFS_OP_NULL,
 		[IPC_METHOD_TO_VFS_OP(VFS_DESTROY)] = VFS_OP_DEFINED,
@@ -106,4 +107,7 @@
 		callid = async_get_call(&call);
 		switch  (IPC_GET_METHOD(call)) {
+		case VFS_MOUNTED:
+			tmpfs_mounted(callid, &call);
+			break;
 		case VFS_MOUNT:
 			tmpfs_mount(callid, &call);
Index: uspace/srv/fs/tmpfs/tmpfs.h
===================================================================
--- uspace/srv/fs/tmpfs/tmpfs.h	(revision 40257f573530dfd8a6fe333cbdf01104c782effa)
+++ uspace/srv/fs/tmpfs/tmpfs.h	(revision f49b0eaadf4b224dc91c8ee7dec365d4bff11b1c)
@@ -41,5 +41,7 @@
 #include <libadt/hash_table.h>
 
+#ifndef dprintf
 #define dprintf(...)	printf(__VA_ARGS__)
+#endif
 
 typedef struct tmpfs_dentry {
@@ -63,4 +65,5 @@
 extern libfs_ops_t tmpfs_libfs_ops;
 
+extern void tmpfs_mounted(ipc_callid_t, ipc_call_t *);
 extern void tmpfs_mount(ipc_callid_t, ipc_call_t *);
 extern void tmpfs_lookup(ipc_callid_t, ipc_call_t *);
Index: uspace/srv/fs/tmpfs/tmpfs_ops.c
===================================================================
--- uspace/srv/fs/tmpfs/tmpfs_ops.c	(revision 40257f573530dfd8a6fe333cbdf01104c782effa)
+++ uspace/srv/fs/tmpfs/tmpfs_ops.c	(revision f49b0eaadf4b224dc91c8ee7dec365d4bff11b1c)
@@ -394,29 +394,8 @@
 }
 
-void tmpfs_mount(ipc_callid_t rid, ipc_call_t *request)
-{
-	dev_handle_t mr_dev_handle = (dev_handle_t) IPC_GET_ARG1(*request);
-	fs_index_t mr_index = (fs_index_t) IPC_GET_ARG2(*request);
-	fs_handle_t mp_fs_handle = (fs_handle_t) IPC_GET_ARG3(*request);
-	dev_handle_t mp_dev_handle = (dev_handle_t) IPC_GET_ARG4(*request);
-	fs_index_t mp_index = (fs_index_t) IPC_GET_ARG5(*request);
-	
-	if ((mr_index == root->index) &&
-		(mp_fs_handle == tmpfs_reg.fs_handle) &&
-		(mp_index == mr_index)) {
-		
-		if (mr_dev_handle >= 0) {
-			if (tmpfs_restore(mr_dev_handle))
-				ipc_answer_0(rid, EOK);
-			else
-				ipc_answer_0(rid, ELIMIT);
-		} else
-			ipc_answer_0(rid, EOK);
-	} else
-		ipc_answer_0(rid, ENOTSUP);
-}
-
-void tmpfs_lookup(ipc_callid_t rid, ipc_call_t *request)
-{
+void tmpfs_mounted(ipc_callid_t rid, ipc_call_t *request)
+{
+	dev_handle_t dev_handle = (dev_handle_t) IPC_GET_ARG1(*request);
+
 	/* Initialize TMPFS. */
 	if (!root && !tmpfs_init()) {
@@ -424,4 +403,27 @@
 		return;
 	}
+
+	if (dev_handle >= 0) {
+		if (tmpfs_restore(dev_handle))
+			ipc_answer_0(rid, EOK);
+		else
+			ipc_answer_0(rid, ELIMIT);
+	} else {
+			ipc_answer_0(rid, EOK);
+	}
+}
+
+void tmpfs_mount(ipc_callid_t rid, ipc_call_t *request)
+{
+	dev_handle_t mp_dev_handle = (dev_handle_t) IPC_GET_ARG1(*request);
+	fs_index_t mp_index = (fs_index_t) IPC_GET_ARG2(*request);
+	fs_handle_t mr_fs_handle = (fs_handle_t) IPC_GET_ARG3(*request);
+	dev_handle_t mr_dev_handle = (dev_handle_t) IPC_GET_ARG4(*request);
+	
+	ipc_answer_0(rid, ENOTSUP);
+}
+
+void tmpfs_lookup(ipc_callid_t rid, ipc_call_t *request)
+{
 	libfs_lookup(&tmpfs_libfs_ops, tmpfs_reg.fs_handle, rid, request);
 }
