SVNews r332525

NOTE: This service is experimental and subject to change! Use at your own risk!

2018-04-16 03:32:41 - r332525 by mav (Alexander Motin)

Complete list of files affected by revision r332525:

(Note: At the moment, these links point to ViewVC on svn.freebsd.org. They are probably slow. Do not overuse.)

   Contents     MODIFY   /stable/11  
  History   Contents   Diff   MODIFY   /stable/11/cddl/contrib/opensolaris/cmd/zdb/zdb.c  
  History   Contents   Diff   MODIFY   /stable/11/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c  
  History   Contents   Diff   MODIFY   /stable/11/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c  
  History   Contents   Diff   MODIFY   /stable/11/cddl/contrib/opensolaris/cmd/ztest/ztest.c  
  History   Contents   Diff   MODIFY   /stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h  
  History   Contents   Diff   MODIFY   /stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c  
  History   Contents   Diff   MODIFY   /stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c  
  History   Contents   Diff   MODIFY   /stable/11/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c  
  History   Contents   Diff   MODIFY   /stable/11/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c  
  History   Contents   Diff   MODIFY   /stable/11/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/Makefile.files  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_reftree.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/bpobj.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_deadlist.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_deleg.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_scan.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/range_tree.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h  
  History   Contents     ADD   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_indirect_births.h  
  History   Contents     ADD   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_indirect_mapping.h  
  History   Contents     ADD   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_removal.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_priority.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c  
  History   Contents     ADD   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_indirect.c  
  History   Contents     ADD   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_indirect_births.c  
  History   Contents     ADD   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_indirect_mapping.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c  
  History   Contents     ADD   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp_get.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/conf/files  

Commit message:

MFC r329732: MFV r329502: 7614 zfs device evacuation/removal

illumos/illumos-gate@5cabbc6b49070407fb9610cfe73d4c0e0dea3e77

https://www.illumos.org/issues/7614:
This project allows top-level vdevs to be removed from the storage pool with
“zpool remove”, reducing the total amount of storage in the pool. This
operation copies all allocated regions of the device to be removed onto other
devices, recording the mapping from old to new location. After the removal is
complete, read and free operations to the removed (now “indirect”) vdev must
be remapped and performed at the new location on disk. The indirect mapping
table is kept in memory whenever the pool is loaded, so there is minimal
performance overhead when doing operations on the indirect vdev.

The size of the in-memory mapping table will be reduced when its entries
become “obsolete” because they are no longer used by any block pointers in
the pool. An entry becomes obsolete when all the blocks that use it are
freed. An entry can also become obsolete when all the snapshots that
reference it are deleted, and the block pointers that reference it have been
“remapped” in all filesystems/zvols (and clones). Whenever an indirect block
is written, all the block pointers in it will be “remapped” to their new
(concrete) locations if possible. This process can be accelerated by using
the “zfs remap” command to proactively rewrite all indirect blocks that
reference indirect (removed) vdevs.

Note that when a device is removed, we do not verify the checksum of the data
that is copied. This makes the process much faster, but if it were used on
redundant vdevs (i.e. mirror or raidz vdevs), it would be possible to copy
the wrong data, when we have the correct data on e.g. the other side of the
mirror. Therefore, mirror and raidz devices can not be removed.

Reviewed by: Alex Reece <alex@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: John Kennedy <john.kennedy@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Richard Laager <rlaager@wiktel.com>
Reviewed by: Tim Chase <tim@chase2k.com>
Approved by: Garrett D'Amore <garrett@damore.org>
Author: Prashanth Sreenivasa <pks@delphix.com>

 


Powered by Python FreeBSD support by secnetix GmbH & Co. KG

Page generated in 20 ms, 87 files printed. Current time is 2018-04-19 15:30:27. All times are in UTC/GMT.