diff --git a/scripts/upload_manifest.py b/scripts/upload_manifest.py
index aaea5af44e9481548450ff10689932b213f474e5..25d6b1c14d732ca330b50e8abe42901eb9282ab8 100755
--- a/scripts/upload_manifest.py
+++ b/scripts/upload_manifest.py
@@ -166,6 +166,10 @@ def main():
 
     osv.wait()
 
+    # Disable ZFS compression; it stops taking effect from this point on.
+    osv = subprocess.Popen('cd ../..; scripts/run.py -m 512 -c1 -i %s -u -s -e "/zfs.so set compression=off osv"' % image_path, shell = True, stdout=subprocess.PIPE)
+    osv.wait()
+
     depends.write(u'\n\n')
     depends.close()
 
diff --git a/tools/mkfs/mkfs.cc b/tools/mkfs/mkfs.cc
index d2a3b58f0d83f92d702d0215b0f7ac9f7a253e9b..e9ee3fc8e580d0c339007cc7f160d446135d254a 100644
--- a/tools/mkfs/mkfs.cc
+++ b/tools/mkfs/mkfs.cc
@@ -41,6 +41,10 @@ void mkfs()
 
     // Create a zfs dataset within the pool named osv.
     run_cmd("/zfs.so", {"zfs", "create", "osv/zfs"});
+
+    // Enable lz4 compression on the created zfs dataset
+    // NOTE: Compression is disabled after image creation.
+    run_cmd("/zfs.so", {"zfs", "set", "compression=lz4", "osv"});
 }
 
 int main(int ac, char** av)