From owner-freebsd-current@FreeBSD.ORG Tue Mar 22 15:42:03 2011 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9DC9D106566C for ; Tue, 22 Mar 2011 15:42:03 +0000 (UTC) (envelope-from lists@loveturtle.net) Received: from loveturtle.net (unknown [IPv6:2605:5a00:0:666::1]) by mx1.freebsd.org (Postfix) with ESMTP id 692BD8FC12 for ; Tue, 22 Mar 2011 15:42:03 +0000 (UTC) Received: from loveturtle.net (localhost [127.0.0.1]) by loveturtle.net (Postfix) with ESMTP id 771712309 for ; Tue, 22 Mar 2011 10:42:01 -0500 (EST) X-Virus-Scanned: amavisd-new at loveturtle.net Received: from loveturtle.net ([127.0.0.1]) by loveturtle.net (loveturtle.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YuFoSi1-jtp1 for ; Tue, 22 Mar 2011 10:41:59 -0500 (EST) Received: from [IPv6:2605:5a00:0:666::4] (unknown [IPv6:2605:5a00:0:666::4]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by loveturtle.net (Postfix) with ESMTPS id E1D4C22FF for ; Tue, 22 Mar 2011 10:41:59 -0500 (EST) From: Dillon Kass Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Date: Tue, 22 Mar 2011 11:41:58 -0400 Message-Id: <813ECD73-4FAA-4FA4-BAE7-016ACCBA5626@loveturtle.net> To: current@freebsd.org Mime-Version: 1.0 (Apple Message framework v1084) X-Mailer: Apple Mail (2.1084) Cc: Subject: ZFSv28 zfs destroy -r bug. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 15:42:03 -0000 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.=20 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:~#=20 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=