I’m using a MikroTik CCR2116 with RouterOS and Btrfs.
I have a regular subvolume named rsc, and I have snapshots such as:
.snapshot/rsc/2026-08-22 - 130000 - rsc
What I want to do is restore the rsc subvolume to the state captured by the 2026-08-22 - 130000 - rsc snapshot.
The problem is that if I delete the existing rsc subvolume and create a new subvolume using the snapshot as the parent, the resulting object is still marked as a snapshot (S flag) rather than a normal subvolume.
For example:
Flags: * - DEFAULT; S - SNAPSHOT; r - READ-ONLY
# FS FULLNAME TOP-LEVEL PARENT
4 DATADRIVE rsc <FS_ROOT>
5 S DATADRIVE rsc1 <FS_ROOT> 2026-08-22 - 120000 - apps
The data itself is there and appears to be correct, but the resulting rsc is still identified as a snapshot.
What I am looking for is something similar to Synology’s “Restore in place” feature.
In other words, if restoring in place requires deleting the existing subvolume and recreating it from a snapshot, I would like the result to be a regular Btrfs subvolume, not another snapshot.
Ideally, the process would be:
Existing rsc subvolume
↓
Delete existing rsc
↓
Restore from snapshot
↓
rsc (regular subvolume, no S flag)
I also noticed that RouterOS does not seem to provide a clone or restore command for this. The Btrfs send/receive functionality looks potentially useful, but I’m wondering:
Can Btrfs send/receive be used locally on the same MikroTik device to restore a snapshot as a regular subvolume?
Or is there another supported way in RouterOS to perform an in-place restore while ensuring that the restored object is a normal subvolume rather than a snapshot?
I’m specifically looking for a way to achieve the same behavior as Synology’s “Restore in place”.