From nobody@FreeBSD.org  Wed Apr 18 16:20:48 2012
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id D19F5106564A
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 18 Apr 2012 16:20:48 +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 BDA828FC12
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 18 Apr 2012 16:20:48 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.4/8.14.4) with ESMTP id q3IGKmCr014896
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 18 Apr 2012 16:20:48 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.4/8.14.4/Submit) id q3IGKm8D014895;
	Wed, 18 Apr 2012 16:20:48 GMT
	(envelope-from nobody)
Message-Id: <201204181620.q3IGKm8D014895@red.freebsd.org>
Date: Wed, 18 Apr 2012 16:20:48 GMT
From: Aldo <rimbalza@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: ZVOLs not appearing in /dev/zvol
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         167066
>Category:       kern
>Synopsis:       [zfs] ZVOLs not appearing in /dev/zvol
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    avg
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 18 16:30:03 UTC 2012
>Closed-Date:    Mon Jan 21 15:45:21 UTC 2013
>Last-Modified:  Mon Jan 21 15:45:21 UTC 2013
>Originator:     Aldo
>Release:        9.0-RELEASE FreeBSD 9.0-RELEASE #0
>Organization:
>Environment:
FreeBSD -snip- 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64

>Description:
I do 
zfs send -I mypool/iscsi0@20120415 mypool/iscsi0@20120416 |
ssh root@bckserver zfs receive -v cloned/iscsi0

from my machine where the iscsi0 zvol is backing an iscsi target.

The receiving machine gets it, it appears in "zfs list" but no corresponding
device is created in /dev/zvol. If I reboot the machine the device appears
and works ok.

If I create a new zvol on the receiving machine, the device appears.
Only zfs received zvols do not appear.

Also, zfs rollback cloned@iscsi0@mysnap never returns the prompt. Top says
zfs is stuck in STOP state. After a reboot the command succedes.

Using v28 pool upgraded froma v15 created on OpenSolaris.
>How-To-Repeat:
Send a zvol from from machine A to machine B.
>Fix:
Reboot the server

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-amd64->freebsd-fs 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Mon Apr 23 03:16:54 UTC 2012 
Responsible-Changed-Why:  
reclassify. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=167066 

From: Andriy Gapon <avg@FreeBSD.org>
To: bug-followup@FreeBSD.org, rimbalza@gmail.com,
        Andreas Nilsson <andrnils@gmail.com>
Cc:  
Subject: Re: kern/167066: [zfs] ZVOLs not appearing in /dev/zvol
Date: Fri, 23 Nov 2012 13:22:26 +0200

 Please try the following patch:
 
 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 @@ -3824,6 +3824,11 @@ zfs_ioc_recv(zfs_cmd_t *zc)
  		error = 1;
  	}
  #endif
 +
 +#ifdef __FreeBSD__
 +	if (error == 0)
 +		zvol_create_minors(tofs);
 +#endif
  	/*
  	 * On error, restore the original props.
  	 */
 
 -- 
 Andriy Gapon

From: Andreas Nilsson <andrnils@gmail.com>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org, rimbalza@gmail.com
Subject: Re: kern/167066: [zfs] ZVOLs not appearing in /dev/zvol
Date: Fri, 23 Nov 2012 14:04:16 +0100

 --047d7b677c8e9376ea04cf2938a3
 Content-Type: text/plain; charset=ISO-8859-1
 
 On Fri, Nov 23, 2012 at 12:22 PM, Andriy Gapon <avg@freebsd.org> wrote:
 
 >
 > Please try the following patch:
 >
 > --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 > +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 > @@ -3824,6 +3824,11 @@ zfs_ioc_recv(zfs_cmd_t *zc)
 >                 error = 1;
 >         }
 >  #endif
 > +
 > +#ifdef __FreeBSD__
 > +       if (error == 0)
 > +               zvol_create_minors(tofs);
 > +#endif
 >         /*
 >          * On error, restore the original props.
 >          */
 >
 > --
 > Andriy Gapon
 >
 
 Thanks :)
 
 The patch did not apply on new checkout of 9-stable, but I added the code
 via editor. Svn thinks this of my edit:
 
 Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 ===================================================================
 --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c  (revision
 243443)
 +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c  (working
 copy)
 @@ -3803,6 +3803,11 @@
                 error = 1;
         }
  #endif
 +
 +#ifdef __FreeBSD__
 +       if (error == 0)
 +               zvol_create_minors(tofs);
 +#endif
         /*
          * On error, restore the original props.
          */
 
 Before receive:
 $ ls /dev/zvol/data/
 usb     usb@2   usb@2s1 usbs1
 
 After receive:
 $ ls /dev/zvol/data/
 master          master@1p1      master@1p3      masterp2        usb
     usb@2s1
 master@1        master@1p2      masterp1        masterp3        usb@2
     usbs1
 
 which is what I expected. Great work :)
 
 Best regards
 Andreas
 
 --047d7b677c8e9376ea04cf2938a3
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 <br><div class=3D"gmail_extra"><div class=3D"gmail_quote">On Fri, Nov 23, 2=
 012 at 12:22 PM, Andriy Gapon <span dir=3D"ltr">&lt;<a href=3D"mailto:avg@f=
 reebsd.org" target=3D"_blank">avg@freebsd.org</a>&gt;</span> wrote:<br><blo=
 ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
 -width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;paddi=
 ng-left:1ex">
 
 <br>
 Please try the following patch:<br>
 <br>
 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c<br>
 +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c<br>
 @@ -3824,6 +3824,11 @@ zfs_ioc_recv(zfs_cmd_t *zc)<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 error =3D 1;<br>
 =A0 =A0 =A0 =A0 }<br>
 =A0#endif<br>
 +<br>
 +#ifdef __FreeBSD__<br>
 + =A0 =A0 =A0 if (error =3D=3D 0)<br>
 + =A0 =A0 =A0 =A0 =A0 =A0 =A0 zvol_create_minors(tofs);<br>
 +#endif<br>
 =A0 =A0 =A0 =A0 /*<br>
 =A0 =A0 =A0 =A0 =A0* On error, restore the original props.<br>
 =A0 =A0 =A0 =A0 =A0*/<br>
 <span><font color=3D"#888888"><br>
 --<br>
 Andriy Gapon<br>
 </font></span></blockquote></div><br></div><div class=3D"gmail_extra">Thank=
 s :)</div><div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">T=
 he patch did not apply on new checkout of 9-stable, but I added the code vi=
 a editor. Svn thinks this of my edit:</div>
 
 <div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">Index: sys/=
 cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c</div><div class=3D"g=
 mail_extra">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</div>
 
 <div class=3D"gmail_extra">--- sys/cddl/contrib/opensolaris/uts/common/fs/z=
 fs/zfs_ioctl.c =A0(revision 243443)</div><div class=3D"gmail_extra">+++ sys=
 /cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c =A0(working copy)</=
 div>
 
 <div class=3D"gmail_extra">@@ -3803,6 +3803,11 @@</div><div class=3D"gmail_=
 extra">=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 error =3D 1;</div><div class=3D"gmai=
 l_extra">=A0 =A0 =A0 =A0 }</div><div class=3D"gmail_extra">=A0#endif</div><=
 div class=3D"gmail_extra">+</div>
 <div class=3D"gmail_extra">
 +#ifdef __FreeBSD__</div><div class=3D"gmail_extra">+ =A0 =A0 =A0 if (error=
  =3D=3D 0)</div><div class=3D"gmail_extra">+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 zv=
 ol_create_minors(tofs);</div><div class=3D"gmail_extra">+#endif</div><div c=
 lass=3D"gmail_extra">=A0 =A0 =A0 =A0 /*</div>
 
 <div class=3D"gmail_extra">=A0 =A0 =A0 =A0 =A0* On error, restore the origi=
 nal props.</div><div class=3D"gmail_extra">=A0 =A0 =A0 =A0 =A0*/</div><div =
 class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">Before receive:<=
 /div><div class=3D"gmail_extra">
 <div class=3D"gmail_extra">$ ls /dev/zvol/data/</div><div class=3D"gmail_ex=
 tra">usb =A0 =A0 usb@2 =A0 usb@2s1 usbs1</div><div><br></div><div>After rec=
 eive:</div><div><div>$ ls /dev/zvol/data/</div><div>master =A0 =A0 =A0 =A0 =
 =A0master@1p1 =A0 =A0 =A0master@1p3 =A0 =A0 =A0masterp2 =A0 =A0 =A0 =A0usb =
 =A0 =A0 =A0 =A0 =A0 =A0 usb@2s1</div>
 <div>master@1 =A0 =A0 =A0 =A0master@1p2 =A0 =A0 =A0masterp1 =A0 =A0 =A0 =A0=
 masterp3 =A0 =A0 =A0 =A0usb@2 =A0 =A0 =A0 =A0 =A0 usbs1</div></div><div><br=
 ></div><div>which is what I expected. Great work :)</div><div><br></div><di=
 v>Best regards</div><div>Andreas</div>
 </div>
 
 --047d7b677c8e9376ea04cf2938a3--
Responsible-Changed-From-To: freebsd-fs->avg 
Responsible-Changed-By: avg 
Responsible-Changed-When: Sat Nov 24 13:13:49 UTC 2012 
Responsible-Changed-Why:  
I am handling this. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=167066 
State-Changed-From-To: open->patched 
State-Changed-By: avg 
State-Changed-When: Sat Dec 1 18:24:49 UTC 2012 
State-Changed-Why:  
Should be fixed in head. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=167066 
State-Changed-From-To: patched->closed 
State-Changed-By: avg 
State-Changed-When: Mon Jan 21 15:45:15 UTC 2013 
State-Changed-Why:  
Should be fixed now. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=167066 
>Unformatted:
