From owner-freebsd-bugs@FreeBSD.ORG Tue Jan 15 12:00:00 2013 Return-Path: Delivered-To: freebsd-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B0A65A4A for ; Tue, 15 Jan 2013 12:00:00 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 954F0FC for ; Tue, 15 Jan 2013 12:00:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.6/8.14.6) with ESMTP id r0FC001b091939 for ; Tue, 15 Jan 2013 12:00:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.6/8.14.6/Submit) id r0FC00IB091937; Tue, 15 Jan 2013 12:00:00 GMT (envelope-from gnats) Resent-Date: Tue, 15 Jan 2013 12:00:00 GMT Resent-Message-Id: <201301151200.r0FC00IB091937@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Alexei Volkov Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id EFCDC9F2 for ; Tue, 15 Jan 2013 11:56:50 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id C9309E1 for ; Tue, 15 Jan 2013 11:56:50 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.5/8.14.5) with ESMTP id r0FBuoBg000268 for ; Tue, 15 Jan 2013 11:56:50 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.5/8.14.5/Submit) id r0FBuouL000267; Tue, 15 Jan 2013 11:56:50 GMT (envelope-from nobody) Message-Id: <201301151156.r0FBuouL000267@red.freebsd.org> Date: Tue, 15 Jan 2013 11:56:50 GMT From: Alexei Volkov To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: kern/175323: Fail to use ZVOL as a gmirror component X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jan 2013 12:00:00 -0000 >Number: 175323 >Category: kern >Synopsis: Fail to use ZVOL as a gmirror component >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jan 15 12:00:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Alexei Volkov >Release: 9.1-RELEASE >Organization: SoftLynx >Environment: FreeBSD fresh-inst 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec 4 09:23: 10 UTC 2012 root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 >Description: kernel: GEOM_MIRROR (error=45) while trying to use ZFS volumes (ZVOL) geoms as a geom_mirror component. >How-To-Repeat: # zfs create -V10G tank0/vol0 # diskinfo -v /dev/zvol/tank0/vol0 /dev/zvol/tank0/vol0 512 # sectorsize 10737418240 # mediasize in bytes (10G) 20971520 # mediasize in sectors 0 # stripesize 0 # stripeoffset # gmirror label mirror0 /dev/zvol/tank0/vol0 GEOM_MIRROR: Cannot add disk zvol/tank0/vol0 to mirror0 (error=45). GEOM_MIRROR: Device mirror0 destroyed. gmirror list is empty and gmirror list -a shows: Geom name: mirror0 Consumers: 1. Name: zvol/tank0/vol0 Mediasize: 10737418240 (10G) Sectorsize: 512 Mode: r1w1e1 Right after the sequence above, the block device zvol/tank0/vol0 is not any more available for writing it (seems to be locked by geom_mirror) # dd if=/dev/zero of=/dev/zvol/tank0/vol0 dd: /dev/zvol/tank0/vol0: Operation not permitted And i was not able to release it. # gmirror forget mirror0 gmirror: No such device: mirror0. # gmirror clear /dev/zvol/tank0/vol0 Can't clear metadata on /dev/zvol/tank0/vol0: Operation not permitted. gmirror: Not fully done. # zfs destroy -f tank0/vol0 cannot destroy 'tank0/vol0': dataset is busy The only way to destroy ZVOL is temporarily block geaom_morror loading during the boot process, reboot and destroy zvols. >Fix: >Release-Note: >Audit-Trail: >Unformatted: