(cela a commencé comme un commentaire mais est devenu trop long, c'est maintenant une réponse)
Malheureusement, la réponse est non". Il n'y a pas de moyen plus rapide ou plus intelligent de le faire.
Les systèmes de fichiers ZFS (même s'ils se trouvent sur le même pool) sont des systèmes de fichiers distincts. Ni mvaucun autre outil ne peut simplement déplacer les pointeurs de bloc ou quoi que ce soit afin que les fichiers qui étaient allumés fs_asoient maintenant activés fs_b.
(BTW, plusieurs partitions formatées ou volumes LVM sur le même disque ou baie RAID sont également des systèmes de fichiers distincts et sont également mvchargés de les copier-supprimer)
Ce problème a été soulevé plusieurs fois au fil des ans (avec des discussions sur la création d'un outil pour faire ce que vous voulez) et si je comprends bien, la principale difficulté qui le place dans le panier trop dur est la question de savoir comment gérer les instantanés - s'il y a des instantanés de fs_a, les blocs seraient dans les deux systèmes de fichiers en même temps. Il en va de même pour les fichiers qui ont des liens physiques.
Je l'ai rencontré moi-même de nombreuses fois (par exemple lors du déplacement de fichiers entre des ensembles de données comme vous l'avez fait, ou lorsque j'ai besoin de convertir un sous-répertoire en fs), et je viens d'apprendre à supporter les inconvénients. Il peut s'agir d'un PITA majeur.
si fs_best vide ou n'existe pas encore et que vous voulez déplacer l' ensemble contenu fs_aà fs_b(et pas seulement certains ou même la plupart des fichiers et répertoires) que vous pouvez utiliser zfs renamepour renommer fs_aà fs_b. Je soupçonne cependant que cela n'est pas pertinent pour votre situation.
Il y a un problème ouvert à ce sujet pour ZFSOnLinux à https://github.com/zfsonlinux/zfs/issues/2991
Je n'ai pas cherché mais je m'attendrais à ce qu'OpenZFS en amont et même Sun / Oracle ZFS aient probablement des rapports de bogues / demandes de fonctionnalités similaires.
BTW, voir également /server/584693/freenas-why-isnt-mv-command-instant-within-a-raidz1-volume