From nobody@FreeBSD.org  Mon May 27 01:24:18 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	by hub.freebsd.org (Postfix) with ESMTP id EB016944
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 27 May 2013 01:24:18 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from oldred.FreeBSD.org (oldred.freebsd.org [8.8.178.121])
	by mx1.freebsd.org (Postfix) with ESMTP id DD83E8B3
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 27 May 2013 01:24:18 +0000 (UTC)
Received: from oldred.FreeBSD.org ([127.0.1.6])
	by oldred.FreeBSD.org (8.14.5/8.14.5) with ESMTP id r4R1OIXt079419
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 27 May 2013 01:24:18 GMT
	(envelope-from nobody@oldred.FreeBSD.org)
Received: (from nobody@localhost)
	by oldred.FreeBSD.org (8.14.5/8.14.5/Submit) id r4R1OIEm079418;
	Mon, 27 May 2013 01:24:18 GMT
	(envelope-from nobody)
Message-Id: <201305270124.r4R1OIEm079418@oldred.FreeBSD.org>
Date: Mon, 27 May 2013 01:24:18 GMT
From: Steve Wills <swills@FreeBSD.org>
To: freebsd-gnats-submit@FreeBSD.org
Subject: dev entries for cloned zvol don't show up until after reboot
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         178999
>Category:       kern
>Synopsis:       [zfs] dev entries for cloned zvol don't show up until after reboot
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    smh
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon May 27 01:30:01 UTC 2013
>Closed-Date:    
>Last-Modified:  Mon Apr 21 16:40:01 UTC 2014
>Originator:     Steve Wills
>Release:        
>Organization:
>Environment:
FreeBSD meatwad.mouf.net 10.0-CURRENT FreeBSD 10.0-CURRENT #3 r250925: Thu May 23 02:54:31 UTC 2013     root@meatwad.mouf.net:/usr/obj/usr/src/sys/MEATWAD  amd64

>Description:
When creating a zvol on a zfs pool, the /dev/zvol/pool/* entries show up correctly, however when making snapshots or cloning them, they do not.
>How-To-Repeat:

zfs create -V 1G pool/somevol
ls /dev/zvol/pool # witness somevol entries
zfs create pool/somevol@somesnap
ls /dev/zvol/pool # witness no new entries
zfs clone pool/somvol@somesnap pool/anothervol
ls /dev/zvol/pool # again witness no new entries
reboot
ls /dev/zvol/pool # witness missing entries appearing

>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-fs 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Mon May 27 23:30:01 UTC 2013 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178999 
Responsible-Changed-From-To: freebsd-fs->smh 
Responsible-Changed-By: smh 
Responsible-Changed-When: Tue Jun 11 14:21:02 UTC 2013 
Responsible-Changed-Why:  
I'll take it 

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

From: "Steven Hartland" <smh@freebsd.org>
To: <bug-followup@freebsd.org>,
	<swills@FreeBSD.org>
Cc:  
Subject: Re: kern/178999: [zfs] dev entries for cloned zvol don&#39;t show up until after reboot
Date: Tue, 11 Jun 2013 15:24:39 +0100

 Potential fix submitted by Ruslan Bukin here:
 http://lists.freebsd.org/pipermail/freebsd-fs/2013-June/017420.html
 --- zfs_ioctl.c 2013-06-09 23:54:22.386708932 +0400
 +++ zfs_ioctl.c 2013-06-10 00:21:58.161708460 +0400
 @@ -3299,6 +3299,12 @@
        if (error != 0)
               (void) dsl_destroy_head(fsname);
         }
 +
 +#ifdef __FreeBSD__
 +        if (error == 0)
 +                zvol_create_minors(fsname);
 +#endif
 +
  return (error);
  }

From: Kurt Lidl <lidl@pix.net>
To: bug-followup@FreeBSD.org, swills@FreeBSD.org
Cc:  
Subject: Re: kern/178999: [zfs] dev entries for cloned zvol don&#39;t show
 up until after reboot
Date: Fri, 02 Aug 2013 14:27:33 -0400

 Any chance this PR could be reviewed, and if the patch is good,
 committed?
 
 I just ran into this same problem last night.
 
 It's really handy to be able to just clone a zvol for
 creating a throwaway virtual machine with bhyve.  It's
 less good if you have to reboot the host machine
 to make the zvol appear.
 
 I just applied the patch in this PR to my 10-CURRENT tree, and have
 verified that cloned zvols now show up in /dev/zvol - without
 the patch, they do not.
 
 Thanks!
 
 -Kurt

From: "Steven Hartland" <smh@freebsd.org>
To: <bug-followup@freebsd.org>,
	<swills@FreeBSD.org>
Cc:  
Subject: Re: kern/178999: [zfs] dev entries for cloned zvol don&#39;t show up until after reboot
Date: Sun, 4 Aug 2013 14:36:47 +0100

 This is a multi-part message in MIME format.
 
 ------=_NextPart_000_0F2E_01CE9120.0C440B50
 Content-Type: text/plain;
 	format=flowed;
 	charset="Windows-1252";
 	reply-type=original
 Content-Transfer-Encoding: 7bit
 
 While testing this patch I hit a number of other issues with zvol's
 including missing creates, failure rename and deadlock scenarios.
 
 The attached patch looks to address these. It doesn't solve all
 the possible deadlock issues with zvol's, what would require
 significant extra work, but it does address all the rename and
 creation issues I experienced.
 
 If you could please test this patch and see if you encounter
 any new issues that would be appreciated.
 
     regards
     Steve
 ------=_NextPart_000_0F2E_01CE9120.0C440B50
 Content-Type: application/octet-stream;
 	name="zvol-fixes.patch"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment;
 	filename="zvol-fixes.patch"
 
 Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c=0A=
 =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=0A=
 --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	(revision =
 253623)=0A=
 +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	(working =
 copy)=0A=
 @@ -3296,6 +3296,10 @@=0A=
  		if (error !=3D 0)=0A=
  			(void) dsl_destroy_head(fsname);=0A=
  	}=0A=
 +#ifdef __FreeBSD__=0A=
 +	if (error =3D=3D 0)=0A=
 +		zvol_create_minors(fsname);=0A=
 +#endif=0A=
  	return (error);=0A=
  }=0A=
  =0A=
 Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c=0A=
 =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=0A=
 --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c	=
 (revision 253623)=0A=
 +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c	=
 (working copy)=0A=
 @@ -1289,8 +1289,7 @@=0A=
  		fnvlist_free(suspended);=0A=
  	}=0A=
  =0A=
 -#ifdef __FreeBSD__=0A=
 -#ifdef _KERNEL=0A=
 +#if defined(__FreeBSD__) && defined(_KERNEL)=0A=
  	if (error =3D=3D 0) {=0A=
  		for (pair =3D nvlist_next_nvpair(snaps, NULL); pair !=3D NULL;=0A=
  		    pair =3D nvlist_next_nvpair(snaps, pair)) {=0A=
 @@ -1299,7 +1298,6 @@=0A=
  		}=0A=
  	}=0A=
  #endif=0A=
 -#endif=0A=
  	return (error);=0A=
  }=0A=
  =0A=
 @@ -1671,11 +1669,9 @@=0A=
  dsl_dataset_rename_snapshot_sync_impl(dsl_pool_t *dp,=0A=
      dsl_dataset_t *hds, void *arg)=0A=
  {=0A=
 -#ifdef __FreeBSD__=0A=
 -#ifdef _KERNEL=0A=
 +#if defined(__FreeBSD__) && defined(_KERNEL)=0A=
  	char *oldname, *newname;=0A=
  #endif=0A=
 -#endif=0A=
  	dsl_dataset_rename_snapshot_arg_t *ddrsa =3D arg;=0A=
  	dsl_dataset_t *ds;=0A=
  	uint64_t val;=0A=
 @@ -1697,25 +1693,25 @@=0A=
  =0A=
  	VERIFY0(dsl_dataset_snap_remove(hds, ddrsa->ddrsa_oldsnapname, tx));=0A=
  	mutex_enter(&ds->ds_lock);=0A=
 +#if defined(__FreeBSD__) && defined(_KERNEL)=0A=
 +	oldname =3D kmem_alloc(MAXPATHLEN, KM_SLEEP);=0A=
 +	newname =3D kmem_alloc(MAXPATHLEN, KM_SLEEP);=0A=
 +	dsl_dataset_name(ds, oldname);=0A=
 +#endif=0A=
  	(void) strcpy(ds->ds_snapname, ddrsa->ddrsa_newsnapname);=0A=
 +#if defined(__FreeBSD__) && defined(_KERNEL)=0A=
 +	dsl_dataset_name(ds, newname);=0A=
 +#endif=0A=
  	mutex_exit(&ds->ds_lock);=0A=
  	VERIFY0(zap_add(dp->dp_meta_objset, hds->ds_phys->ds_snapnames_zapobj,=0A=
  	    ds->ds_snapname, 8, 1, &ds->ds_object, tx));=0A=
  =0A=
 -#ifdef __FreeBSD__=0A=
 -#ifdef _KERNEL=0A=
 -	oldname =3D kmem_alloc(MAXPATHLEN, KM_SLEEP);=0A=
 -	newname =3D kmem_alloc(MAXPATHLEN, KM_SLEEP);=0A=
 -	snprintf(oldname, MAXPATHLEN, "%s@%s", ddrsa->ddrsa_fsname,=0A=
 -	    ddrsa->ddrsa_oldsnapname);=0A=
 -	snprintf(newname, MAXPATHLEN, "%s@%s", ddrsa->ddrsa_fsname,=0A=
 -	    ddrsa->ddrsa_newsnapname);=0A=
 +#if defined(__FreeBSD__) && defined(_KERNEL)=0A=
  	zfsvfs_update_fromname(oldname, newname);=0A=
  	zvol_rename_minors(oldname, newname);=0A=
  	kmem_free(newname, MAXPATHLEN);=0A=
  	kmem_free(oldname, MAXPATHLEN);=0A=
  #endif=0A=
 -#endif=0A=
  	dsl_dataset_rele(ds, FTAG);=0A=
  =0A=
  	return (0);=0A=
 @@ -1731,9 +1727,14 @@=0A=
  	VERIFY0(dsl_dataset_hold(dp, ddrsa->ddrsa_fsname, FTAG, &hds));=0A=
  	ddrsa->ddrsa_tx =3D tx;=0A=
  	if (ddrsa->ddrsa_recursive) {=0A=
 +		/* Take the spa_namespace_lock so zvol renames don't deadlock */=0A=
 +		mutex_enter(&spa_namespace_lock);=0A=
 +=0A=
  		VERIFY0(dmu_objset_find_dp(dp, hds->ds_dir->dd_object,=0A=
  		    dsl_dataset_rename_snapshot_sync_impl, ddrsa,=0A=
  		    DS_FIND_CHILDREN));=0A=
 +=0A=
 +		mutex_exit(&spa_namespace_lock);=0A=
  	} else {=0A=
  		VERIFY0(dsl_dataset_rename_snapshot_sync_impl(dp, hds, ddrsa));=0A=
  	}=0A=
 @@ -2031,6 +2032,9 @@=0A=
  	dsl_dir_t *odd =3D NULL;=0A=
  	uint64_t oldnext_obj;=0A=
  	int64_t delta;=0A=
 +#if defined(__FreeBSD__) && defined(_KERNEL)=0A=
 +	char *oldname, *newname;=0A=
 +#endif=0A=
  =0A=
  	VERIFY0(promote_hold(ddpa, dp, FTAG));=0A=
  	hds =3D ddpa->ddpa_clone;=0A=
 @@ -2096,6 +2100,13 @@=0A=
  		    dd->dd_phys->dd_clones, origin_head->ds_object, tx));=0A=
  	}=0A=
  =0A=
 +#if defined(__FreeBSD__) && defined(_KERNEL)=0A=
 +	/* Take the spa_namespace_lock so zvol renames don't livelock */=0A=
 +	mutex_enter(&spa_namespace_lock);=0A=
 +=0A=
 +	oldname =3D kmem_alloc(MAXPATHLEN, KM_SLEEP);=0A=
 +	newname =3D kmem_alloc(MAXPATHLEN, KM_SLEEP);=0A=
 +#endif=0A=
  	/* move snapshots to this dir */=0A=
  	for (snap =3D list_head(&ddpa->shared_snaps); snap;=0A=
  	    snap =3D list_next(&ddpa->shared_snaps, snap)) {=0A=
 @@ -2115,6 +2126,9 @@=0A=
  		VERIFY0(dsl_dataset_get_snapname(ds));=0A=
  		VERIFY0(dsl_dataset_snap_remove(origin_head,=0A=
  		    ds->ds_snapname, tx));=0A=
 +#if defined(__FreeBSD__) && defined(_KERNEL)=0A=
 +		dsl_dataset_name(ds, oldname);=0A=
 +#endif=0A=
  		VERIFY0(zap_add(dp->dp_meta_objset,=0A=
  		    hds->ds_phys->ds_snapnames_zapobj, ds->ds_snapname,=0A=
  		    8, 1, &ds->ds_object, tx));=0A=
 @@ -2127,6 +2141,11 @@=0A=
  		dsl_dir_rele(ds->ds_dir, ds);=0A=
  		VERIFY0(dsl_dir_hold_obj(dp, dd->dd_object,=0A=
  		    NULL, ds, &ds->ds_dir));=0A=
 +#if defined(__FreeBSD__) && defined(_KERNEL)=0A=
 +		dsl_dataset_name(ds, newname);=0A=
 +		zfsvfs_update_fromname(oldname, newname);=0A=
 +		zvol_rename_minors(oldname, newname);=0A=
 +#endif=0A=
  =0A=
  		/* move any clone references */=0A=
  		if (ds->ds_phys->ds_next_clones_obj &&=0A=
 @@ -2165,6 +2184,12 @@=0A=
  		ASSERT(!dsl_prop_hascb(ds));=0A=
  	}=0A=
  =0A=
 +#if defined(__FreeBSD__) && defined(_KERNEL)=0A=
 +	mutex_exit(&spa_namespace_lock);=0A=
 +=0A=
 +	kmem_free(newname, MAXPATHLEN);=0A=
 +	kmem_free(oldname, MAXPATHLEN);=0A=
 +#endif=0A=
  	/*=0A=
  	 * Change space accounting.=0A=
  	 * Note, pa->*usedsnap and dd_used_breakdown[SNAP] will either=0A=
 Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c=0A=
 =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=0A=
 --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c	(revision =
 253623)=0A=
 +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c	(working copy)=0A=
 @@ -2302,9 +2302,10 @@=0A=
  	if (dmu_objset_type(os) =3D=3D DMU_OST_ZVOL) {=0A=
  		dsl_dataset_long_hold(os->os_dsl_dataset, FTAG);=0A=
  		dsl_pool_rele(dmu_objset_pool(os), FTAG);=0A=
 -		if ((error =3D zvol_create_minor(name)) =3D=3D 0)=0A=
 +		error =3D zvol_create_minor(name);=0A=
 +		if (error =3D=3D 0 || error =3D=3D EEXIST) {=0A=
  			error =3D zvol_create_snapshots(os, name);=0A=
 -		else {=0A=
 +		} else {=0A=
  			printf("ZFS WARNING: Unable to create ZVOL %s (error=3D%d).\n",=0A=
  			    name, error);=0A=
  		}=0A=
 @@ -2387,12 +2388,16 @@=0A=
  	size_t oldnamelen, newnamelen;=0A=
  	zvol_state_t *zv;=0A=
  	char *namebuf;=0A=
 +	boolean_t locked =3D B_FALSE;=0A=
  =0A=
  	oldnamelen =3D strlen(oldname);=0A=
  	newnamelen =3D strlen(newname);=0A=
  =0A=
  	DROP_GIANT();=0A=
 -	mutex_enter(&spa_namespace_lock);=0A=
 +	if (!MUTEX_HELD(&spa_namespace_lock)) {=0A=
 +		mutex_enter(&spa_namespace_lock);=0A=
 +		locked =3D B_TRUE;=0A=
 +	}=0A=
  	g_topology_lock();=0A=
  =0A=
  	LIST_FOREACH(gp, &zfs_zvol_class.geom, geom) {=0A=
 @@ -2415,6 +2420,7 @@=0A=
  	}=0A=
  =0A=
  	g_topology_unlock();=0A=
 -	mutex_exit(&spa_namespace_lock);=0A=
 +	if (locked)=0A=
 +		mutex_exit(&spa_namespace_lock);=0A=
  	PICKUP_GIANT();=0A=
  }=0A=
 
 ------=_NextPart_000_0F2E_01CE9120.0C440B50--
 

From: Steve Wills <swills@FreeBSD.org>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/178999: [zfs] dev entries for cloned zvol don&#39;t show
 up until after reboot
Date: Thu, 29 Aug 2013 02:56:12 +0000

 This is a multi-part message in MIME format.
 --------------090200030208040400040304
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: 7bit
 
 Hi,
 
 Patch does seem to solve the issue, thanks!
 
 Steve
 
 --------------090200030208040400040304
 Content-Type: application/http-index-format
 Content-Transfer-Encoding: base64
 
 MzAwOiBmaWxlOi8vLwoyMDA6IGZpbGVuYW1lIGNvbnRlbnQtbGVuZ3RoIGxhc3QtbW9kaWZp
 ZWQgZmlsZS10eXBlCjIwMTogLmNvbmZpZyAwIFRodSwlMjAyOSUyMERlYyUyMDIwMTElMjAw
 NToxNTozMyUyMEdNVCBESVJFQ1RPUlkgCjIwMTogLmNzaHJjIDk1OSBGcmksJTIwMTElMjBK
 YW4lMjAyMDEzJTIwMDQ6MDI6NDAlMjBHTVQgRklMRSAKMjAxOiAubGVzc2hzdCAzOSBTYXQs
 JTIwMTAlMjBKYW4lMjAyMDA5JTIwMDk6NTQ6MTIlMjBHTVQgRklMRSAKMjAxOiAucHJvZmls
 ZSAyNDcgU2F0LCUyMDA0JTIwRmViJTIwMjAxMiUyMDA0OjU3OjQ0JTIwR01UIEZJTEUgCjIw
 MTogQ09QWVJJR0hUIDYxOTAgRnJpLCUyMDExJTIwSmFuJTIwMjAxMyUyMDA0OjAyOjUxJTIw
 R01UIEZJTEUgCjIwMTogWG9yZy5jb3JlIDk0MjQ4OTYgU2F0LCUyMDEwJTIwQXVnJTIwMjAx
 MyUyMDAxOjI2OjAwJTIwR01UIEZJTEUgCjIwMTogYmFja3VwIDAgVHVlLCUyMDI3JTIwQXVn
 JTIwMjAxMyUyMDE3OjA4OjU0JTIwR01UIERJUkVDVE9SWSAKMjAxOiBiaW4gMCBNb24sJTIw
 MjYlMjBBdWclMjAyMDEzJTIwMDI6MDA6MTElMjBHTVQgRElSRUNUT1JZIAoyMDE6IGJvb3Qg
 MCBUaHUsJTIwMjklMjBBdWclMjAyMDEzJTIwMDE6NTM6MTMlMjBHTVQgRElSRUNUT1JZIAoy
 MDE6IGJvb3QuY29uZmlnIDMgV2VkLCUyMDA0JTIwRmViJTIwMjAwOSUyMDAyOjUwOjE1JTIw
 R01UIEZJTEUgCjIwMTogYm94eSAwIFRodSwlMjAyOSUyMEF1ZyUyMDIwMTMlMjAwMTo1MTow
 NiUyMEdNVCBESVJFQ1RPUlkgCjIwMTogYnNubXBkLmNvcmUgMjIwODk3MjggV2VkLCUyMDE0
 JTIwQXVnJTIwMjAxMyUyMDIyOjM2OjU1JTIwR01UIEZJTEUgCjIwMTogY29tcGF0IDAgVHVl
 LCUyMDE0JTIwTWF5JTIwMjAxMyUyMDAyOjMyOjM0JTIwR01UIERJUkVDVE9SWSAKMjAxOiBk
 ZXYgMCBUaHUsJTIwMjklMjBBdWclMjAyMDEzJTIwMDE6NTY6NTQlMjBHTVQgRElSRUNUT1JZ
 IAoyMDE6IGVudHJvcHkgNDA5NiBUaHUsJTIwMjklMjBBdWclMjAyMDEzJTIwMDE6NTc6Mjcl
 MjBHTVQgRklMRSAKMjAxOiBldGMgMCBTdW4sJTIwMjUlMjBBdWclMjAyMDEzJTIwMDM6NDg6
 MzMlMjBHTVQgRElSRUNUT1JZIAoyMDE6IGZuIDAgV2VkLCUyMDAxJTIwTWF5JTIwMjAxMyUy
 MDEzOjQ3OjE0JTIwR01UIERJUkVDVE9SWSAKMjAxOiBob21lIDAgVHVlLCUyMDI3JTIwQXVn
 JTIwMjAxMyUyMDE1OjE4OjEzJTIwR01UIERJUkVDVE9SWSAKMjAxOiBsaWIgMCBNb24sJTIw
 MjYlMjBBdWclMjAyMDEzJTIwMDI6MDA6NDUlMjBHTVQgRElSRUNUT1JZIAoyMDE6IGxpYmV4
 ZWMgMCBNb24sJTIwMjYlMjBBdWclMjAyMDEzJTIwMDI6MDE6NTklMjBHTVQgRElSRUNUT1JZ
 IAoyMDE6IGxpYmV4ZWMuYmFja3VwIDAgTW9uLCUyMDAyJTIwQXByJTIwMjAxMiUyMDAxOjM4
 OjExJTIwR01UIERJUkVDVE9SWSAKMjAxOiBtZWRpYSAwIFRodSwlMjAyOSUyMEF1ZyUyMDIw
 MTMlMjAwMTo1ODo1OCUyMEdNVCBESVJFQ1RPUlkgCjIwMTogbW50IDAgRnJpLCUyMDI0JTIw
 TWF5JTIwMjAxMyUyMDE2OjA3OjExJTIwR01UIERJUkVDVE9SWSAKMjAxOiBtb3VmIDAgV2Vk
 LCUyMDA4JTIwQXVnJTIwMjAxMiUyMDIxOjAwOjM4JTIwR01UIERJUkVDVE9SWSAKMjAxOiBw
 bGV4IDAgVGh1LCUyMDI5JTIwQXVnJTIwMjAxMyUyMDAxOjUwOjUwJTIwR01UIERJUkVDVE9S
 WSAKMjAxOiBwb3VkcmllcmUgMCBXZWQsJTIwMTAlMjBKdWwlMjAyMDEzJTIwMDM6NTk6MjIl
 MjBHTVQgRElSRUNUT1JZIAoyMDE6IHByb2MgMCBUaHUsJTIwMjklMjBBdWclMjAyMDEzJTIw
 MDI6NTY6MTIlMjBHTVQgRElSRUNUT1JZIAoyMDE6IHJlc2N1ZSAwIE1vbiwlMjAyNiUyMEF1
 ZyUyMDIwMTMlMjAwMjowMDo0MCUyMEdNVCBESVJFQ1RPUlkgCjIwMTogcm9vdCAwIFR1ZSwl
 MjAyNyUyMEF1ZyUyMDIwMTMlMjAwMzo0MzoxNiUyMEdNVCBESVJFQ1RPUlkgCjIwMTogc2Jp
 biAwIE1vbiwlMjAyNiUyMEF1ZyUyMDIwMTMlMjAwMjowMTozNSUyMEdNVCBESVJFQ1RPUlkg
 CjIwMTogc3lzIDAgU3VuLCUyMDE3JTIwTWFyJTIwMjAxMyUyMDAzOjMwOjIwJTIwR01UIERJ
 UkVDVE9SWSAKMjAxOiB0ZnRwYm9vdCAwIFNhdCwlMjAxMyUyMEF1ZyUyMDIwMTElMjAxNzow
 Mzo1MyUyMEdNVCBESVJFQ1RPUlkgCjIwMTogdG1wIDAgVGh1LCUyMDI5JTIwQXVnJTIwMjAx
 MyUyMDAyOjU2OjEyJTIwR01UIERJUkVDVE9SWSAKMjAxOiB1c3IgMCBTdW4sJTIwMTglMjBB
 dWclMjAyMDEzJTIwMTY6Mjc6NDMlMjBHTVQgRElSRUNUT1JZIAoyMDE6IHZhciAwIFRodSwl
 MjAyOSUyMEF1ZyUyMDIwMTMlMjAwMTo1NzoxNiUyMEdNVCBESVJFQ1RPUlkgCjIwMTogenJv
 b3QgMCBTdW4sJTIwMTIlMjBTZXAlMjAyMDEwJTIwMjE6NDk6MDQlMjBHTVQgRElSRUNUT1JZ
 IAo=
 --------------090200030208040400040304--

From: Kash Pande <kash@tripleback.net>
To: bug-followup@FreeBSD.org, swills@FreeBSD.org
Cc:  
Subject: Re: kern/178999: [zfs] dev entries for cloned zvol don&#39;t show
 up until after reboot
Date: Sat, 14 Dec 2013 18:17:15 -0600

 This fix did not resolve the issue for me, experienced on 9.2-STABLE and 
 9.1-RELEASE.

From: Irwin <biatche@gmail.com>
To: bug-followup@FreeBSD.org, swills@FreeBSD.org
Cc:  
Subject: Re: kern/178999: [zfs] dev entries for cloned zvol don&#39;t show
 up until after reboot
Date: Tue, 21 Jan 2014 09:36:23 +0800

 I'm still experiencing this issue in FreeBSD 10.0-RELEASE. I'm curious 
 if this is a bug for everyone or if it happens only under certain 
 circumstances.

From: Ivan Natchkov <ivan.natchkov@gmail.com>
To: bug-followup@FreeBSD.org, swills@FreeBSD.org
Cc:  
Subject: Re: kern/178999: [zfs] dev entries for cloned zvol don&#39;t show up
 until after reboot
Date: Thu, 30 Jan 2014 00:26:12 +0200

 --047d7bf10a849f3a3504f1236d0d
 Content-Type: text/plain; charset=ISO-8859-1
 
 We experienced the same problem with FreeBSD 10.0-RELEASE #0 r260789. With
 9.1 everything was fine. The submitted patch here didn't work out for us.
 We use this feature to clone our production environment and create fresh
 test and development servers in a minute. Hope to find solution soon.
 
 --047d7bf10a849f3a3504f1236d0d
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 <div dir=3D"ltr">We experienced the same problem with FreeBSD 10.0-RELEASE =
 #0 r260789. With 9.1 everything was fine. The submitted patch here didn&#39=
 ;t work out for us. We use this feature to clone our production environment=
  and create fresh test and development servers in a minute. Hope to find so=
 lution soon.</div>
 
 --047d7bf10a849f3a3504f1236d0d--

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/178999: commit references a PR
Date: Fri, 11 Apr 2014 11:56:19 +0000 (UTC)

 Author: mav
 Date: Fri Apr 11 11:56:16 2014
 New Revision: 264341
 URL: http://svnweb.freebsd.org/changeset/base/264341
 
 Log:
   Create zvol devices on zfs clone.
   
   While big and shiny patch is not ready, it is better to have something.
   
   PR:		kern/178999
   MFC after:	1 week
 
 Modified:
   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 
 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 ==============================================================================
 --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Fri Apr 11 08:25:54 2014	(r264340)
 +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Fri Apr 11 11:56:16 2014	(r264341)
 @@ -3352,6 +3352,10 @@ zfs_ioc_clone(const char *fsname, nvlist
  		if (error != 0)
  			(void) dsl_destroy_head(fsname);
  	}
 +#ifdef __FreeBSD__
 +	if (error == 0)
 +		zvol_create_minors(fsname);
 +#endif
  	return (error);
  }
  
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/178999: commit references a PR
Date: Mon, 21 Apr 2014 16:35:17 +0000 (UTC)

 Author: mav
 Date: Mon Apr 21 16:35:14 2014
 New Revision: 264730
 URL: http://svnweb.freebsd.org/changeset/base/264730
 
 Log:
   MFC r264341:
   Create zvol devices on zfs clone.
   
   While big and shiny patch is not ready, it is better to have something.
   
   PR:             kern/178999
 
 Modified:
   stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 Directory Properties:
   stable/9/   (props changed)
   stable/9/sys/   (props changed)
   stable/9/sys/cddl/contrib/opensolaris/   (props changed)
 
 Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 ==============================================================================
 --- stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Mon Apr 21 16:33:49 2014	(r264729)
 +++ stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Mon Apr 21 16:35:14 2014	(r264730)
 @@ -3352,6 +3352,10 @@ zfs_ioc_clone(const char *fsname, nvlist
  		if (error != 0)
  			(void) dsl_destroy_head(fsname);
  	}
 +#ifdef __FreeBSD__
 +	if (error == 0)
 +		zvol_create_minors(fsname);
 +#endif
  	return (error);
  }
  
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/178999: commit references a PR
Date: Mon, 21 Apr 2014 16:33:52 +0000 (UTC)

 Author: mav
 Date: Mon Apr 21 16:33:49 2014
 New Revision: 264729
 URL: http://svnweb.freebsd.org/changeset/base/264729
 
 Log:
   MFC r264341:
   Create zvol devices on zfs clone.
   
   While big and shiny patch is not ready, it is better to have something.
   
   PR:		kern/178999
 
 Modified:
   stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 Directory Properties:
   stable/10/   (props changed)
 
 Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
 ==============================================================================
 --- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Mon Apr 21 16:29:54 2014	(r264728)
 +++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c	Mon Apr 21 16:33:49 2014	(r264729)
 @@ -3352,6 +3352,10 @@ zfs_ioc_clone(const char *fsname, nvlist
  		if (error != 0)
  			(void) dsl_destroy_head(fsname);
  	}
 +#ifdef __FreeBSD__
 +	if (error == 0)
 +		zvol_create_minors(fsname);
 +#endif
  	return (error);
  }
  
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
>Unformatted:
