From owner-freebsd-bugs@freebsd.org Tue Feb 26 00:00:08 2019 Return-Path: Delivered-To: freebsd-bugs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1F5D41519DAC for ; Tue, 26 Feb 2019 00:00:08 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id AB1CB88623 for ; Tue, 26 Feb 2019 00:00:07 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.ysv.freebsd.org (Postfix) id 6BD231519DA7; Tue, 26 Feb 2019 00:00:07 +0000 (UTC) Delivered-To: bugs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 443901519DA5 for ; Tue, 26 Feb 2019 00:00:07 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.ysv.freebsd.org (mxrelay.ysv.freebsd.org [IPv6:2001:1900:2254:206a::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.ysv.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B323988622 for ; Tue, 26 Feb 2019 00:00:06 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.ysv.freebsd.org (Postfix) with ESMTPS id C0864161F8 for ; Tue, 26 Feb 2019 00:00:05 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id x1Q005xE039444 for ; Tue, 26 Feb 2019 00:00:05 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id x1Q005sO039440 for bugs@FreeBSD.org; Tue, 26 Feb 2019 00:00:05 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 236043] bectl can't destroy origin snapshot Date: Tue, 26 Feb 2019 00:00:05 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: bin X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: rob.fx907@gmail.com X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Feb 2019 00:00:08 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D236043 Bug ID: 236043 Summary: bectl can't destroy origin snapshot Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: bin Assignee: bugs@FreeBSD.org Reporter: rob.fx907@gmail.com Created attachment 202370 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D202370&action= =3Dedit don't check if a dataset is mounted when destroying a snapshot How to reproduce: $ bectl create bootenv $ bectl list -s | grep -A1 bootenv bootenv zroot/ROOT/bootenv - - 8K 2019-02-= 25 12:45 zroot/ROOT/solid@2019-02-25-12:45:25 - - 0 2019-02-= 25 12:45 $ bectl destroy -o bootenv cannot destroy mounted boot env unless forced $ bectl list | grep bootenv /* no output*/ $ zfs list -t snapshot | grep solid@2019-02-25-12:45:25 zroot/ROOT/solid@2019-02-25-12:45:25 0 - 21.7G = - The bug is in the libbe library, specifically the 'be_destroy' function. 'be_destroy' can destroy a boot environment by name or snapshot, in either case 'be_destroy' acquire= s a zfs handle internally. When 'be_destroy' is given a boot environment name, the zfs handle will be the b= oot environment dataset (zroot/ROOT/bootenv). When 'be_destroy' is given a snapshot name, the zfs handle will be the data= set that the snapshot was taken from (zroot/ROOT/solid). After the zfs handle is acquired, a check is made to see if the dataset is mounted and bombs if it is (unless forced). In the above case, 'zroot/ROOT/solid' is the current boot environment. In short - when destroying a snapshot, 'be_destroy' tries to unmount the dataset that the snapshot was taken from. The attached fix checks if the dataset is mounted only when that dataset (i.e. boot environment) will be destroyed. In other words, the patch doesn't check if a dataset is mount= ed when destroying a snapshot. --=20 You are receiving this mail because: You are the assignee for the bug.=