Hello. I posted this to freebsd-fs yesterday regarding 8.2-R & ZFSv28 patches, this morning I confirmed the same behavior on HEAD so I figured I'd also post it here (and there's higher volume :-)
I also tested this on Solaris 11 express to make sure it's specific to FreeBSD and not some kind of "feature" in newer ZFS versions.. It used to be the case that if you zfs destroy -r pool@snapshot as long as any child dataset had @snapshot the command would destroy it. In other words, pool@snapshot didn't need to exist as long as pool/dataset1@snapshot existed. Here's how it should work (Solaris 11) turtle@solaris11vm:~# zfs list -t all -r rpool1/test NAME USED AVAIL REFER MOUNTPOINT rpool1/test 127K 6.34G 34K /rpool1/test rpool1/test/test2 31K 6.34G 31K /rpool1/test/test2 rpool1/test/test2@testsnap 0 - 31K - rpool1/test/test3 31K 6.34G 31K /rpool1/test/test3 rpool1/test/test3@testsnap 0 - 31K - rpool1/test/test4 31K 6.34G 31K /rpool1/test/test4 rpool1/test/test4@testsnap 0 - 31K - turtle@solaris11vm:~# zfs destroy -r rpool1@testsnap turtle@solaris11vm:~# zfs list -t all -r rpool1/test NAME USED AVAIL REFER MOUNTPOINT rpool1/test 127K 6.34G 34K /rpool1/test rpool1/test/test2 31K 6.34G 31K /rpool1/test/test2 rpool1/test/test3 31K 6.34G 31K /rpool1/test/test3 rpool1/test/test4 31K 6.34G 31K /rpool1/test/test4 turtle@solaris11vm:~# All snapshots named @testsnap are deleted even though rpool1@testsnap doesn't exist. This is normal behavior. Here's FreeBSD-CURRENT with v28 fbsd9vm# zfs list -t all -r NAME USED AVAIL REFER MOUNTPOINT testpool 475K 19.6G 21K /testpool testpool/test 22K 19.6G 22K /testpool/test testpool/test@testsnap 0 - 22K - fbsd9vm# zfs destroy -r testpool@testsnap cannot destroy 'testpool@testsnap': dataset does not exist no snapshots destroyed fbsd9vm# zfs list -t all -r NAME USED AVAIL REFER MOUNTPOINT testpool 475K 19.6G 21K /testpool testpool/test 22K 19.6G 22K /testpool/test testpool/test@testsnap 0 - 22K - fbsd9vm# uname -a FreeBSD fbsd9vm 9.0-CURRENT FreeBSD 9.0-CURRENT #2 r208649M: Mon Mar 21 22:28:02 EDT 2011 root@:/usr/obj/usr/src/sys/GENERIC amd64 I noticed this because zfSnap is unable to destroy old snapshots (except for ones that are done to the entire pool where pool@snapshot exists) Cheers, Dillon_______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"