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/...
Martin Matuska
mm at FreeBSD.org
Mon Aug 27 19:25:21 UTC 2012
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)
More information about the svn-src-vendor
mailing list