kern/167066: [zfs] ZVOLs not appearing in /dev/zvol

Andreas Nilsson andrnils at gmail.com
Fri Nov 23 13:10:01 UTC 2012


The following reply was made to PR kern/167066; it has been noted by GNATS.

From: Andreas Nilsson <andrnils at gmail.com>
To: Andriy Gapon <avg at freebsd.org>
Cc: bug-followup at freebsd.org, rimbalza at 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 at 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 at 2   usb at 2s1 usbs1
 
 After receive:
 $ ls /dev/zvol/data/
 master          master at 1p1      master at 1p3      masterp2        usb
     usb at 2s1
 master at 1        master at 1p2      masterp1        masterp3        usb at 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"><<a href=3D"mailto:avg at f=
 reebsd.org" target=3D"_blank">avg at freebsd.org</a>></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 at 2 =A0 usb at 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 at 1p1 =A0 =A0 =A0master at 1p3 =A0 =A0 =A0masterp2 =A0 =A0 =A0 =A0usb =
 =A0 =A0 =A0 =A0 =A0 =A0 usb at 2s1</div>
 <div>master at 1 =A0 =A0 =A0 =A0master at 1p2 =A0 =A0 =A0masterp1 =A0 =A0 =A0 =A0=
 masterp3 =A0 =A0 =A0 =A0usb at 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--


More information about the freebsd-fs mailing list