Solved zfs unmount error : cannot open <snapshot>: snapshot delimiter '@' is not expected here

Hi,
try to unmount a ZFS filesystem a lot of error messages are printed:
Code:
# zfs unmount -f /mnt/zdata/share/maurizio
cannot open 'zdata/share/maurizio@2011-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2012-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2013-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2015-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2016-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
...
cannot open 'zdata/share/maurizio@2022-07-07_13.03.37--forever': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-07_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot unmount '/mnt/zdata/share/maurizio': unmount failed
What can I do ?
Thanks
 
Code:
zfs mount | grep /mnt/zdata
zdata/zdata                     /mnt/zdata
zdata/share                     /mnt/zdata/share
zdata/iocage                    /mnt/zdata/iocage
zdata/jails_data                /mnt/zdata/jails_data
zdata/vbox                      /mnt/zdata/vbox
zdata/misc                      /mnt/zdata/misc
zdata/test                      /mnt/zdata/test
zdata/iocage/jails              /mnt/zdata/iocage/jails
zdata/iocage/log                /mnt/zdata/iocage/log
zdata/jails_data/nextcloud_12.1  /mnt/zdata/jails_data/nextcloud_12.1
zdata/ztemp/vbox/ISO            /mnt/zdata/vbox/ISO
zdata/iocage/images             /mnt/zdata/iocage/images
zdata/misc/nfs                  /mnt/zdata/misc/nfs
zdata/test_old                  /mnt/zdata/test
zdata/iocage/download           /mnt/zdata/iocage/download
zdata/share/zippi               /mnt/zdata/share/zippi
zdata/misc/iscsi                /mnt/zdata/misc/iscsi
zdata/iocage/templates          /mnt/zdata/iocage/templates
zdata/share/patrizio            /mnt/zdata/share/patrizio
zdata/jails_data/zippidb_12.1   /mnt/zdata/jails_data/zippidb_12.1
zdata/iocage/releases           /mnt/zdata/iocage/releases
zdata/misc/zippi_drive_z        /mnt/zdata/misc/zippi_drive_z
zdata/share/clover_h            /mnt/zdata/share/clover_h
zdata/share/clover_f            /mnt/zdata/share/clover_f
zdata/misc/mail                 /mnt/zdata/misc/mail
zdata/share/maurizio            /mnt/zdata/share/maurizio
zdata/share/clover_g            /mnt/zdata/share/clover_g
zdata/jails_data/nextcloud_12.1/files  /mnt/zdata/jails_data/nextcloud_12.1/files
zdata/jails_data/nextcloud_12.1/db  /mnt/zdata/jails_data/nextcloud_12.1/db
zdata/iocage/jails/clovermail_12.1  /mnt/zdata/iocage/jails/clovermail_12.1
zdata/iocage/jails/nextcloud_12.1  /mnt/zdata/iocage/jails/nextcloud_12.1
zdata/iocage/jails/misc_12.1    /mnt/zdata/iocage/jails/misc_12.1
zdata/iocage/releases/12.1-RELEASE  /mnt/zdata/iocage/releases/12.1-RELEASE
zdata/iocage/download/11.2-RELEASE  /mnt/zdata/iocage/download/11.2-RELEASE
zdata/iocage/download/12.1-RELEASE  /mnt/zdata/iocage/download/12.1-RELEASE
zdata/iocage/jails/zippidb_12.1  /mnt/zdata/iocage/jails/zippidb_12.1
zdata/iocage/jails/xgui         /mnt/zdata/iocage/jails/xgui
zdata/test_old/test2            /mnt/zdata/test/test2
zdata/iocage/releases/13.0-RELEASE  /mnt/zdata/iocage/releases/13.0-RELEASE
zdata/iocage/releases/11.2-RELEASE  /mnt/zdata/iocage/releases/11.2-RELEASE
zdata/iocage/jails/ubuntu       /mnt/zdata/iocage/jails/ubuntu
zdata/iocage/download/12.2-RELEASE  /mnt/zdata/iocage/download/12.2-RELEASE
zdata/iocage/download/13.0-RELEASE  /mnt/zdata/iocage/download/13.0-RELEASE
zdata/iocage/jails/samba        /mnt/zdata/iocage/jails/samba
zdata/ztemp/temp/download       /mnt/zdata/share/clover_f/download
zdata/ztemp/temp/TEMP_F         /mnt/zdata/share/clover_f/TEMP
zdata/iocage/jails/rg-search    /mnt/zdata/iocage/jails/rg-search
zdata/iocage/releases/12.2-RELEASE  /mnt/zdata/iocage/releases/12.2-RELEASE
zdata/ztemp/temp/TEMP_G         /mnt/zdata/share/clover_g/TEMP
zdata/ztemp/temp/TEMP_M         /mnt/zdata/share/maurizio/TEMP
zdata/iocage/jails/j12.2        /mnt/zdata/iocage/jails/j12.2
zdata/iocage/jails/clovermail_12.1/root  /mnt/zdata/iocage/jails/clovermail_12.1/root
zdata/iocage/jails/nextcloud_12.1/root  /mnt/zdata/iocage/jails/nextcloud_12.1/root
zdata/iocage/releases/12.1-RELEASE/root  /mnt/zdata/iocage/releases/12.1-RELEASE/root
zdata/iocage/jails/misc_12.1/root  /mnt/zdata/iocage/jails/misc_12.1/root
zdata/test/test2                /mnt/zdata/test/test2
zdata/iocage/releases/13.0-RELEASE/root  /mnt/zdata/iocage/releases/13.0-RELEASE/root
zdata/iocage/jails/xgui/root    /mnt/zdata/iocage/jails/xgui/root
zdata/iocage/releases/11.2-RELEASE/root  /mnt/zdata/iocage/releases/11.2-RELEASE/root
zdata/iocage/jails/zippidb_12.1/root  /mnt/zdata/iocage/jails/zippidb_12.1/root
zdata/iocage/jails/j12.2/root   /mnt/zdata/iocage/jails/j12.2/root
zdata/iocage/releases/12.2-RELEASE/root  /mnt/zdata/iocage/releases/12.2-RELEASE/root
zdata/iocage/jails/rg-search/root  /mnt/zdata/iocage/jails/rg-search/root
zdata/iocage/jails/samba/root   /mnt/zdata/iocage/jails/samba/root
zdata/iocage/jails/ubuntu/root  /mnt/zdata/iocage/jails/ubuntu/root
zdata/iocage/jails/samba2       /mnt/zdata/iocage/jails/samba2
zdata/iocage/jails/samba2/root  /mnt/zdata/iocage/jails/samba2/root
 
One tip, /mnt is meant to be used as a temporary mountpoint. Not to be used for anything 'permanent'.

Code:
     /mnt/      empty directory commonly used by system administrators as a
                temporary mount point
hier(7)

I really only see this is mounted, and nothing below it.
Code:
zdata/share/maurizio            /mnt/zdata/share/maurizio

What version of FreeBSD are we dealing with here?
 
One tip, /mnt is meant to be used as a temporary mountpoint. Not to be used for anything 'permanent'.
Yes I know, but I have converted a XigmaNAS production server in a pure FreeBSD server and XigmaNAS use /mnt as mountpoint.

The server is running:
Code:
uname -a
FreeBSD clover-nas4.local 13.0-RELEASE-p11 FreeBSD 13.0-RELEASE-p11 #0: Tue Apr  5 18:54:35 UTC 2022     root@amd64-builder.daemonology.net:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64
 
After upgrading the server to
Code:
# uname -a
FreeBSD clover-nas4.local 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64
the error is still there.
After some trial I gave the right command
Code:
# mount | grep /mnt/zdata/share/maurizio
zdata/share/maurizio on /mnt/zdata/share/maurizio (zfs, local, noatime, nfsv4acls)
zdata/ztemp/temp/TEMP_M on /mnt/zdata/share/maurizio/TEMP (zfs, local, noatime, nfsv4acls)
/mnt/zdata/share/maurizio/.zfs/snapshot on /mnt/zdata/iocage/jails/samba2/root/mnt/maurizio-snapshot (nullfs, local, noatime, nfsv4acls)
/mnt/zdata/share/maurizio/TEMP on /mnt/zdata/iocage/jails/samba2/root/mnt/maurizio/TEMP (nullfs, local, noatime, nfsv4acls)
/mnt/zdata/share/maurizio on /mnt/zdata/iocage/jails/misc_12.1/root/mnt/i (nullfs, local, noatime, nfsv4acls)
/mnt/zdata/share/maurizio/.zfs/snapshot on /mnt/zdata/iocage/jails/samba/root/mnt/maurizio-snapshot (nullfs, local, noatime, nfsv4acls)
/mnt/zdata/share/maurizio on /mnt/zdata/iocage/jails/samba/root/mnt/maurizio (nullfs, local, noatime, nfsv4acls)
/mnt/zdata/share/maurizio/TEMP on /mnt/zdata/iocage/jails/samba/root/mnt/maurizio/TEMP (nullfs, local, noatime, nfsv4acls)

The file system zdata/share/maurizio is mounted in a lot of jails via nullfs. After removing all mount points
Code:
# umount -f /mnt/zdata/iocage/jails/samba/root/mnt/maurizio
# umount /mnt/zdata/iocage/jails/misc_12.1/root/mnt/i
# umount /mnt/zdata/iocage/jails/samba/root/mnt/maurizio
umount: unmount of /mnt/zdata/iocage/jails/samba/root/mnt/maurizio failed: Device busy
# umount -f /mnt/zdata/iocage/jails/samba/root/mnt/maurizio
# umount /mnt/zdata/iocage/jails/samba/root/mnt/maurizio-snapshot
# umount /mnt/zdata/iocage/jails/samba2/root/mnt/maurizio-snapshot

the zfs unmount command works (with a lot of useless messages)
Code:
# zfs umount  -f /mnt/zdata/share/maurizio
cannot open 'zdata/share/maurizio@2011-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2012-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2013-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2015-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2016-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2017-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2018-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2019-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2020-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2021-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2021-08-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2021-09-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2021-10-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2021-11-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2021-12-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-01-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-02-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-03-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-04-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-05-01_12.30.00--keep': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-05-09_12.15.00--61d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-05-16_12.15.00--61d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-05-23_12.15.00--61d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-05-30_12.15.00--61d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-06_12.15.00--61d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-13_12.15.00--61d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-20_12.15.00--61d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-23_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-23_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-24_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-24_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-25_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-25_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-26_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-26_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-27_12.15.00--61d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-27_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-27_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-28_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-28_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-29_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-29_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-30_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-06-30_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-01_12.30.00--366d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-01_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-01_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-02_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-02_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-03_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-03_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-04_12.15.00--61d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-04_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-04_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-05_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-05_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-06_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-06_22.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-07_13.03.37--forever': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-07_13.15.00--14d': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@migrate': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@migrate2': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@zrep-zusb_000030': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@zrep-zusb_000031': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@zrep-zusb_000032': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@zrep-zusb_000033': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@zrep-zusb_000034': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@zrep_0001b8': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@zrep_0001b9': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@zrep_0001ba': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@zrep_0001bb': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@zrep_0001bc': snapshot delimiter '@' is not expected here
cannot open 'zdata/share/maurizio@2022-07-07_22.15.00--14d': snapshot delimiter '@' is not expected here

Lesson learned, if the zfs unmount command doesn't work check the nullfs mountpoints.
 
Back
Top