diff --git a/lvmsnapshot.py b/lvmsnapshot.py
index 82f70f58589716293e299c15ed73009df44d919d..cbb8e0063666c771e2a3f24bd31d2fb5c4e59b94 100644
--- a/lvmsnapshot.py
+++ b/lvmsnapshot.py
@@ -1,9 +1,9 @@
 #!/usr/bin/env python3
 
 # create:
-# xfs_freeze -f <parent mountpoint>
+# //xfs_freeze -f <parent mountpoint>
 # lvcreate -s -n <snapshot name> -pr <parent volume>
-# xfs_freeze -u <parent mountpoint>
+# //xfs_freeze -u <parent mountpoint>
 # lvchange -ay -K <snapshot volume>
 # mount <snapshot device> <snapshot mountpoint> -nouuid,ro
 
@@ -42,9 +42,9 @@ PERIOD_KEYS = OrderedDict([
 
 @contextmanager
 def xfs_freeze(mountpoint):
-    #freeze_xfs(mountpoint, True)
+    freeze_xfs(mountpoint, True)
     yield
-    #freeze_xfs(mountpoint, False)
+    freeze_xfs(mountpoint, False)
 
 def freeze_xfs(mountpoint, freeze):
     command = [
@@ -88,6 +88,8 @@ class Volume:
             raise Exception("No parent device {} found!".format(mapper_device))
         return filesystems[0]["target"]
 
+    def get_fstab(self, snapshots):
+        return "\n".join(snapshot.get_tab_entry() for snapshot in snapshots)
 
 class Snapshot:
     def __init__(self, parent_volume, timestamp, active=False):
@@ -128,17 +130,26 @@ class Snapshot:
             self.parent_volume.volume_group,
             self.get_name().replace("-", "--"))
 
+    def get_mount_options(self):
+        return "-nfstype=xfs,ro,noatime,nouuid,norecovery"
+
+    def get_tab_entry(self):
+        return "{} {} :{}".format(
+            self.get_name(),
+            self.get_mount_options(),
+            self.get_mapper_device())
+
     def create(self):
         parent_mountpoint = self.parent_volume.get_mountpoint()
-        with xfs_freeze(parent_mountpoint):
-            create_command = [
-                "/sbin/lvcreate",
-                "--snapshot",
-                "--name", self.get_name(),
-                "--permission", "r",
-                self.parent_volume.get_full_name()
-            ]
-            sp.run(create_command, check=True)
+        #with xfs_freeze(parent_mountpoint): # not necessary, lvm does this
+        create_command = [
+            "/sbin/lvcreate",
+            "--snapshot",
+            "--name", self.get_name(),
+            "--permission", "r",
+            self.parent_volume.get_full_name()
+        ]
+        sp.run(create_command, check=True)
         self.mount()
 
     def mount(self):
@@ -155,7 +166,7 @@ class Snapshot:
             "/bin/mount",
             self.get_mapper_device(),
             self.get_mountpoint(),
-            "-onouuid,ro,norecovery" # nouuid is necessary for xfs snapshots
+            self.get_mount_options() # nouuid is necessary for xfs snapshots
         ]
         sp.run(mount_command, check=True)