Skip site navigation (1)Skip section navigation (2)
Date:      Sun,  5 Feb 2012 12:11:11 -0500 (EST)
From:      Daniel Hagerty <hag@linnaean.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   bin/164802: Can't destroy zfs snapshots in 8-stable w/o -R
Message-ID:  <20120205171111.48AB61FA@perdition.linnaean.org>
Resent-Message-ID: <201202051720.q15HK74Z063908@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         164802
>Category:       bin
>Synopsis:       Can't destroy zfs snapshots in 8-stable w/o -R
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 05 17:20:06 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Daniel Hagerty
>Release:        FreeBSD 8.2-STABLE amd64
>Organization:
I'll let you know when I find some
>Environment:
System: FreeBSD perdition.linnaean.org 8.2-STABLE FreeBSD 8.2-STABLE #1 r230385+ec72e00: Fri Jan 27 18:41:46 EST 2012 root@perdition.linnaean.org:/usr/src/sys/amd64/compile/LINNAEAN64 amd64

	8.2-STABLE, git id bc00e44d, svn r230835, some irrelevant
local modifications.

>Description:
	With my most recent update, I am unable to destroy zfs
	snapshots without using -R.  This makes me unhappy, since -R
	is a big hammer.  This is also affect automatic deletion of
	local snapshots provided by the sysutils/zfs-periodic port I'm
	using; it (quite sanely) doesn't use -R.

>How-To-Repeat:

	$ zfs snapshot pool@snapshot
	$ zfs destroy -v pool@snapshot 
will destroy pool@snapshot
will reclaim 0
[Exit 1 ]
	$ zfs list pool@snapshot
NAME                    USED  AVAIL  REFER  MOUNTPOINT
pool@snapshot              0      -    35K  -
	
>Fix:

    Patch that fixes the issue below; it's based on the git id
bc00e44d/svn r230835 that I'm currently running.  The issue is the use
of an uninitialized variable "err".

commit 6233abc650e37b32f247f1e6690c9bc96395a6e8
Author: Daniel Hagerty <hag@linnaean.org>
Date:   Sun Feb 5 11:33:26 2012 -0500

    zfs destroy foo@bar fails due to uninitialized var

diff --git a/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c b/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
index 78037d4..6bf3267 100644
--- a/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
+++ b/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
@@ -1206,7 +1206,7 @@ zfs_do_destroy(int argc, char **argv)
 
 	at = strchr(argv[0], '@');
 	if (at != NULL) {
-		int err;
+		int err = 0;
 
 		/* Build the list of snaps to destroy in cb_nvl. */
 		if (nvlist_alloc(&cb.cb_nvl, NV_UNIQUE_NAME, 0) != 0)
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120205171111.48AB61FA>