diff --git a/smalloc.c b/smalloc.c
index fdf7d22..a925a65 100644
--- a/smalloc.c
+++ b/smalloc.c
@@ -38,7 +38,6 @@
 	unsigned int free_blocks;		/* free blocks */
 	unsigned int nr_blocks;			/* total blocks */
 	unsigned int next_non_full;
-	int fd;					/* memory backing fd */
 	unsigned int mmap_size;
 };
 
@@ -178,14 +177,9 @@
 
 static int add_pool(struct pool *pool, unsigned int alloc_size)
 {
-	int fd, bitmap_blocks;
-	char file[] = "/tmp/.fio_smalloc.XXXXXX";
+	int bitmap_blocks;
 	void *ptr;
 
-	fd = mkstemp(file);
-	if (fd < 0)
-		goto out_close;
-
 #ifdef SMALLOC_REDZONE
 	alloc_size += sizeof(unsigned int);
 #endif
@@ -202,16 +196,10 @@
 	pool->nr_blocks = bitmap_blocks;
 	pool->free_blocks = bitmap_blocks * SMALLOC_BPB;
 
-#ifdef FIO_HAVE_FALLOCATE
-	posix_fallocate(fd, 0, alloc_size);
-#endif
-
-	if (ftruncate(fd, alloc_size) < 0)
-		goto out_unlink;
-
-	ptr = mmap(NULL, alloc_size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
+	ptr = mmap(NULL, alloc_size, PROT_READ|PROT_WRITE,
+			MAP_SHARED | OS_MAP_ANON, -1, 0);
 	if (ptr == MAP_FAILED)
-		goto out_unlink;
+		goto out_fail;
 
 	memset(ptr, 0, alloc_size);
 	pool->map = ptr;
@@ -219,25 +207,14 @@
 
 	pool->lock = fio_mutex_init(1);
 	if (!pool->lock)
-		goto out_unlink;
-
-	/*
-	 * Unlink pool file now. It wont get deleted until the fd is closed,
-	 * which happens both for cleanup or unexpected quit. This way we
-	 * don't leave temp files around in case of a crash.
-	 */
-	unlink(file);
-	pool->fd = fd;
+		goto out_fail;
 
 	nr_pools++;
 	return 0;
-out_unlink:
+out_fail:
 	fprintf(stderr, "smalloc: failed adding pool\n");
 	if (pool->map)
 		munmap(pool->map, pool->mmap_size);
-	unlink(file);
-out_close:
-	close(fd);
 	return 1;
 }
 
@@ -256,7 +233,6 @@
 	 * This will also remove the temporary file we used as a backing
 	 * store, it was already unlinked
 	 */
-	close(pool->fd);
 	munmap(pool->map, pool->mmap_size);
 
 	if (pool->lock)
