Index: uspace/srv/fs/fat/fat_ops.c
===================================================================
--- uspace/srv/fs/fat/fat_ops.c	(revision 50e5b255c0a320ca1756e869899101e74bba6d6f)
+++ uspace/srv/fs/fat/fat_ops.c	(revision d2093d6216093b33fd00e516e5a5d3b907687613)
@@ -224,5 +224,5 @@
 static void *fat_create_node(dev_handle_t, int);
 static int fat_destroy_node(void *);
-static bool fat_link(void *, void *, const char *);
+static int fat_link(void *, void *, const char *);
 static int fat_unlink(void *, void *);
 static void *fat_match(void *, const char *);
@@ -342,7 +342,7 @@
 }
 
-bool fat_link(void *prnt, void *chld, const char *name)
-{
-	return false;	/* not supported at the moment */
+int fat_link(void *prnt, void *chld, const char *name)
+{
+	return ENOTSUP;	/* not supported at the moment */
 }
 
@@ -526,4 +526,8 @@
 };
 
+/*
+ * VFS operations.
+ */
+
 void fat_mounted(ipc_callid_t rid, ipc_call_t *request)
 {
Index: uspace/srv/fs/tmpfs/tmpfs_dump.c
===================================================================
--- uspace/srv/fs/tmpfs/tmpfs_dump.c	(revision 50e5b255c0a320ca1756e869899101e74bba6d6f)
+++ uspace/srv/fs/tmpfs/tmpfs_dump.c	(revision d2093d6216093b33fd00e516e5a5d3b907687613)
@@ -60,4 +60,5 @@
 	struct rdentry entry;
 	libfs_ops_t *ops = &tmpfs_libfs_ops;
+	int rc;
 	
 	do {
@@ -94,5 +95,6 @@
 			fname[entry.len] = 0;
 			
-			if (!ops->link((void *) parent, (void *) node, fname)) {
+			rc = ops->link((void *) parent, (void *) node, fname);
+			if (rc != EOK) {
 				ops->destroy((void *) node);
 				free(fname);
@@ -135,6 +137,7 @@
 			}
 			fname[entry.len] = 0;
-			
-			if (!ops->link((void *) parent, (void *) node, fname)) {
+
+			rc = ops->link((void *) parent, (void *) node, fname);
+			if (rc != EOK) {
 				ops->destroy((void *) node);
 				free(fname);
Index: uspace/srv/fs/tmpfs/tmpfs_ops.c
===================================================================
--- uspace/srv/fs/tmpfs/tmpfs_ops.c	(revision 50e5b255c0a320ca1756e869899101e74bba6d6f)
+++ uspace/srv/fs/tmpfs/tmpfs_ops.c	(revision d2093d6216093b33fd00e516e5a5d3b907687613)
@@ -76,5 +76,5 @@
 static void tmpfs_node_put(void *);
 static void *tmpfs_create_node(dev_handle_t, int);
-static bool tmpfs_link_node(void *, void *, const char *);
+static int tmpfs_link_node(void *, void *, const char *);
 static int tmpfs_unlink_node(void *, void *);
 static int tmpfs_destroy_node(void *);
@@ -309,5 +309,5 @@
 }
 
-bool tmpfs_link_node(void *prnt, void *chld, const char *nm)
+int tmpfs_link_node(void *prnt, void *chld, const char *nm)
 {
 	tmpfs_dentry_t *parentp = (tmpfs_dentry_t *) prnt;
@@ -318,5 +318,5 @@
 	tmpfs_name_t *namep = malloc(sizeof(tmpfs_name_t));
 	if (!namep)
-		return false;
+		return ENOMEM;
 	tmpfs_name_initialize(namep);
 	size_t len = strlen(nm);
@@ -324,5 +324,5 @@
 	if (!namep->name) {
 		free(namep);
-		return false;
+		return ENOMEM;
 	}
 	strcpy(namep->name, nm);
@@ -344,5 +344,5 @@
 	}
 
-	return true;
+	return EOK;
 }
 
