Bladeren bron

Make LVM snapshots read-only.

Dan Helfman 6 maanden geleden
bovenliggende
commit
4b18c0bc81

+ 2 - 0
borgmatic/hooks/data_source/lvm.py

@@ -89,6 +89,8 @@ def snapshot_logical_volume(
             '--snapshot',
             '--snapshot',
             ('--extents' if '%' in snapshot_size else '--size'),
             ('--extents' if '%' in snapshot_size else '--size'),
             snapshot_size,
             snapshot_size,
+            '--permission',
+            'r',  # Read-only.
             '--name',
             '--name',
             snapshot_name,
             snapshot_name,
             logical_volume_device,
             logical_volume_device,

+ 1 - 0
tests/end-to-end/commands/fake_lvcreate.py

@@ -9,6 +9,7 @@ def parse_arguments(*unparsed_arguments):
     parser.add_argument('--snapshot', action='store_true', required=True)
     parser.add_argument('--snapshot', action='store_true', required=True)
     parser.add_argument('--extents')
     parser.add_argument('--extents')
     parser.add_argument('--size')
     parser.add_argument('--size')
+    parser.add_argument('--permission', required=True)
     parser.add_argument('--name', dest='snapshot_name', required=True)
     parser.add_argument('--name', dest='snapshot_name', required=True)
     parser.add_argument('logical_volume_device')
     parser.add_argument('logical_volume_device')
 
 

+ 4 - 0
tests/unit/hooks/data_source/test_lvm.py

@@ -99,6 +99,8 @@ def test_snapshot_logical_volume_with_percentage_snapshot_name_uses_lvcreate_ext
             '--snapshot',
             '--snapshot',
             '--extents',
             '--extents',
             '10%ORIGIN',
             '10%ORIGIN',
+            '--permission',
+            'r',
             '--name',
             '--name',
             'snap',
             'snap',
             '/dev/snap',
             '/dev/snap',
@@ -116,6 +118,8 @@ def test_snapshot_logical_volume_with_non_percentage_snapshot_name_uses_lvcreate
             '--snapshot',
             '--snapshot',
             '--size',
             '--size',
             '10TB',
             '10TB',
+            '--permission',
+            'r',
             '--name',
             '--name',
             'snap',
             'snap',
             '/dev/snap',
             '/dev/snap',