All my Linux systems (Ubuntu 20.04 and 22.04, server and desktop alike) have root-on-zfs and data on one or more ZFS pools.
Of course data need to be shifted around often, for instance with mc or dolphin or such.
The following use case and question assumes data is moved around within a zpool (not between different zpools).
All filemanagers I tries so far (mc, thunar, dolphin, nemo and some more) you can not differentiate which folder is just a folder, and which one is a zfs dataset.
So if you want to move a folder which in fact is a dataset, all filemanagers start to create a plain folder on the target an copy all files into it.
But if the target folder itself is also a dataset, I expect the filemanager to simply rename the source dataset accordingly - this would be much faster, smarter and for me the more reasonable operation.
Use case example, dataset structure before, mountpoints equal the dataset name:
zp/media/movies/scifi
zp/media/movies/crime
zp/media/movies/classic
zp/media/movies/nature
zp/media/new/anime
Now open mc, select /zp/media/new/anime and move it to /zp/media/movies. I assume the target does not already exist, neither as folder nor as dataset at that position.
Result: mc creates a folder /zp/media/movies/anmime and moves on file after the other to that position. On the end it tells that it could not remove /zp/media/new/anime (because it is a dataset, which can not be removed by rm).
Expected behavior: literally zfs rename zp/media/new/anime zp/media/movies/anime
Let's also assume for now that the filemanager has permissions to modify ZFS datasets.
If the target already exists of course the only option is a mv
operation.
==> Is there a filemanager that is aware of ZFS and able to handle datasets as described above?
I know there is a abandoned and incomplete project named zc "zfs commander" (console app) which also has a GTK+ port named zyggy - but I look for something that is actively maintained.
PS: It does not hurt, if it is aware of snapshots as well.