Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Aug 2012 19:25:20 +0000 (UTC)
From:      Martin Matuska <mm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r239746 - vendor-sys/illumos/dist/common/zfs vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/fs/zfs/sys vendor/illumos/dist/cmd/zinject vendor/illumos/dist/...
Message-ID:  <201208271925.q7RJPKRD044999@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mm
Date: Mon Aug 27 19:25:20 2012
New Revision: 239746
URL: http://svn.freebsd.org/changeset/base/239746

Log:
  Update vendor/illumos/dist and vendor/illumos-gate/dist
  to illumos-gate revision 13782:8f78aae28a63
  
  Obtained from:	ssh://anonhg@hg.illumos.org/illumos-gate

Modified:
  vendor/illumos/dist/cmd/zinject/zinject.c
  vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c
  vendor/illumos/dist/man/man5/zpool-features.5

Changes in other areas also in this revision:
Modified:
  vendor-sys/illumos/dist/common/zfs/zfeature_common.c
  vendor-sys/illumos/dist/common/zfs/zfeature_common.h
  vendor-sys/illumos/dist/uts/common/fs/zfs/bpobj.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_objset.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_deadlist.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_pool.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/bpobj.h
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu.h
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dmu_objset.h
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dsl_dataset.h
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dsl_pool.h
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zap.h
  vendor-sys/illumos/dist/uts/common/fs/zfs/zap.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/zfeature.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vfsops.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/zvol.c

Modified: vendor/illumos/dist/cmd/zinject/zinject.c
==============================================================================
--- vendor/illumos/dist/cmd/zinject/zinject.c	Mon Aug 27 19:20:58 2012	(r239745)
+++ vendor/illumos/dist/cmd/zinject/zinject.c	Mon Aug 27 19:25:20 2012	(r239746)
@@ -294,11 +294,9 @@ static int
 iter_handlers(int (*func)(int, const char *, zinject_record_t *, void *),
     void *data)
 {
-	zfs_cmd_t zc;
+	zfs_cmd_t zc = { 0 };
 	int ret;
 
-	zc.zc_guid = 0;
-
 	while (ioctl(zfs_fd, ZFS_IOC_INJECT_LIST_NEXT, &zc) == 0)
 		if ((ret = func((int)zc.zc_guid, zc.zc_name,
 		    &zc.zc_inject_record, data)) != 0)
@@ -421,7 +419,7 @@ static int
 cancel_one_handler(int id, const char *pool, zinject_record_t *record,
     void *data)
 {
-	zfs_cmd_t zc;
+	zfs_cmd_t zc = { 0 };
 
 	zc.zc_guid = (uint64_t)id;
 
@@ -454,7 +452,7 @@ cancel_all_handlers(void)
 static int
 cancel_handler(int id)
 {
-	zfs_cmd_t zc;
+	zfs_cmd_t zc = { 0 };
 
 	zc.zc_guid = (uint64_t)id;
 
@@ -476,7 +474,7 @@ static int
 register_handler(const char *pool, int flags, zinject_record_t *record,
     int quiet)
 {
-	zfs_cmd_t zc;
+	zfs_cmd_t zc = { 0 };
 
 	(void) strcpy(zc.zc_name, pool);
 	zc.zc_inject_record = *record;
@@ -533,7 +531,7 @@ register_handler(const char *pool, int f
 int
 perform_action(const char *pool, zinject_record_t *record, int cmd)
 {
-	zfs_cmd_t zc;
+	zfs_cmd_t zc = { 0 };
 
 	ASSERT(cmd == VDEV_STATE_DEGRADED || cmd == VDEV_STATE_FAULTED);
 	(void) strlcpy(zc.zc_name, pool, sizeof (zc.zc_name));

Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c	Mon Aug 27 19:20:58 2012	(r239745)
+++ vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c	Mon Aug 27 19:25:20 2012	(r239746)
@@ -3511,7 +3511,7 @@ zfs_rollback(zfs_handle_t *zhp, zfs_hand
 	    zhp->zfs_type == ZFS_TYPE_VOLUME);
 
 	/*
-	 * Destroy all recent snapshots and its dependends.
+	 * Destroy all recent snapshots and their dependents.
 	 */
 	cb.cb_force = force;
 	cb.cb_target = snap->zfs_name;

Modified: vendor/illumos/dist/man/man5/zpool-features.5
==============================================================================
--- vendor/illumos/dist/man/man5/zpool-features.5	Mon Aug 27 19:20:58 2012	(r239745)
+++ vendor/illumos/dist/man/man5/zpool-features.5	Mon Aug 27 19:25:20 2012	(r239746)
@@ -169,5 +169,33 @@ through the \fBfreeing\fR property.
 
 This feature is only \fBactive\fR while \fBfreeing\fR is non\-zero.
 .RE
+
+.sp
+.ne 2
+.na
+\fB\fBempty_bpobj\fR\fR
+.ad
+.RS 4n
+.TS
+l l .
+GUID	com.delphix:empty_bpobj
+READ\-ONLY COMPATIBLE	yes
+DEPENDENCIES	none
+.TE
+
+This feature increases the performance of creating and using a large
+number of snapshots of a single filesystem or volume, and also reduces
+the disk space required.
+
+When there are many snapshots, each snapshot uses many Block Pointer
+Objects (bpobj's) to track blocks associated with that snapshot.
+However, in common use cases, most of these bpobj's are empty.  This
+feature allows us to create each bpobj on-demand, thus eliminating the
+empty bpobjs.
+
+This feature is \fBactive\fR while there are any filesystems, volumes,
+or snapshots which were created after enabling this feature.
+.RE
+
 .SH "SEE ALSO"
 \fBzpool\fR(1M)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208271925.q7RJPKRD044999>