diff --git a/nvmet/nvme.py b/nvmet/nvme.py
index fb8dcbd796f88679f983721c38b0d7f64267e92c..a05e50c7bd2f4eb79ec2e0c9b74e6c980e80a67d 100644
--- a/nvmet/nvme.py
+++ b/nvmet/nvme.py
@@ -240,7 +240,9 @@ class Root(CFSNode):
             os.fchmod(f.fileno(), stat.S_IRUSR | stat.S_IWUSR)
             f.write(json.dumps(self.dump(), sort_keys=True, indent=2))
             f.write("\n")
+            f.flush()
             os.fsync(f.fileno())
+            f.close()
 
         os.rename(savefile + ".temp", savefile)