diff --git a/src/rockstor/fs/btrfs.py b/src/rockstor/fs/btrfs.py index a7a93190b..b86714447 100644 --- a/src/rockstor/fs/btrfs.py +++ b/src/rockstor/fs/btrfs.py @@ -362,7 +362,9 @@ def remove_snap(pool, pool_device, share_name, snap_name): if (is_mounted(snap_path)): umount_root(snap_path) if (is_subvol(snap_path)): - return run_command([BTRFS, 'subvolume', 'delete', snap_path]) + qgroup = ('0/%s' % share_id(pool, pool_device, snap_name)) + run_command([BTRFS, 'subvolume', 'delete', snap_path]) + return qgroup_destroy(qgroup, root_mnt) else: o, e, rc = run_command([BTRFS, 'subvolume', 'list', '-s', root_mnt]) snap = None diff --git a/src/rockstor/storageadmin/views/snapshot.py b/src/rockstor/storageadmin/views/snapshot.py index c5a322faa..46d13ba9b 100644 --- a/src/rockstor/storageadmin/views/snapshot.py +++ b/src/rockstor/storageadmin/views/snapshot.py @@ -153,19 +153,18 @@ def _create(self, share, snap_name, pool_device, request, uvisible, (snap_name, share.name)) handle_exception(Exception(e_msg), request) - real_name = snap_name snap_size = 0 qgroup_id = '0/na' if (snap_type != 'receiver'): if (snap_type == 'replication'): writable = False add_snap(share.pool, pool_device, share.subvol_name, - real_name, readonly=not writable) - snap_id = share_id(share.pool, pool_device, real_name) + snap_name, readonly=not writable) + snap_id = share_id(share.pool, pool_device, snap_name) qgroup_id = ('0/%s' % snap_id) snap_size, eusage = share_usage(share.pool, pool_device, qgroup_id) - s = Snapshot(share=share, name=snap_name, real_name=real_name, + s = Snapshot(share=share, name=snap_name, real_name=snap_name, size=snap_size, qgroup=qgroup_id, uvisible=uvisible, snap_type=snap_type, writable=writable)