----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.csiden.org/r/216/ -----------------------------------------------------------
(Updated May 7, 2015, 4:15 p.m.) Review request for OpenZFS Developer Mailing List and Christopher Siden. Repository: illumos-gate Description ------- This is an import of the temporary pool names functionality from ZoL: https://github.com/zfsonlinux/zfs/commit/e2282ef57edc79cdce2a4b9b7e3333c56494a807 https://github.com/zfsonlinux/zfs/commit/26b42f3f9d03f85cc7966dc2fe4dfe9216601b0e https://github.com/zfsonlinux/zfs/commit/2f3ec9006146844af6763d1fa4e823fd9047fd54 https://github.com/zfsonlinux/zfs/commit/00d2a8c92f614f49d23dea5d73f7ea7eb489ccf1 https://github.com/zfsonlinux/zfs/commit/83e9986f6eefdf0afc387f06407087bba3ead4e9 https://github.com/zfsonlinux/zfs/commit/023bbe6f017380f4a04c5060feb24dd8cdda9fce It also includes the following fix for a sanitization issue that I caught when porting the code: https://github.com/zfsonlinux/zfs/pull/3385 It is intended to assist the creation and management of virtual machines that have their rootfs on ZFS on hosts that also have their rootfs on ZFS. These situations cause SPA namespace collisions when the standard name rpool is used in both cases. The solution is either to give each guest pool a name unique to the host, which is not always desireable, or boot a VM environment containing an ISO image to install it, which is cumbersome. As a side note, this commit includes the removal of `zpool import -r`, which previously did nothing. Diffs (updated) ----- usr/src/uts/common/sys/fs/zfs.h 569fae20915dc58bebd875fe5f244a82fdc02a9d usr/src/uts/common/fs/zfs/spa_config.c 47bb59590893cb72ca7f2cee397566c7e466d6d4 usr/src/uts/common/fs/zfs/spa.c 6597ab495f241c80a1e8f4879c6262e3de8045f3 usr/src/man/man1m/zpool.1m fbfd39357930d7550226ba7ca180042b96c28c1a usr/src/lib/libzfs/common/libzfs_pool.c 041809102570da15af73001fa202fbd12fe16359 usr/src/common/zfs/zpool_prop.c 4d906b02bc02e80a7b0aae7af66898b6e5d1ae79 usr/src/cmd/zpool/zpool_main.c 143ee2155df94854a5f3cb8ec150ec38466cc853 Diff: https://reviews.csiden.org/r/216/diff/ Testing ------- Built on Open Indiana Hipster, installed a new boot environment with ONU and confirmed that the functionality worked in the following session: root@openindiana:~# truncate -s 1g /tmp/vdev root@openindiana:~# zpool create -R /tmp/install -t install rpool1 /tmp/vdev root@openindiana:~# zdb -p /tmp -e rpool1 Configuration for import: vdev_children: 1 version: 5000 pool_guid: 13703812137835041293 name: 'rpool1' state: 0 hostid: 28659539 hostname: 'openindiana' vdev_tree: type: 'root' id: 0 guid: 13703812137835041293 children[0]: type: 'file' id: 0 guid: 14836473760768821933 metaslab_array: 35 metaslab_shift: 24 ashift: 9 asize: 1069023232 is_log: 0 create_txg: 4 path: '/tmp/vdev' zdb: can't open 'rpool1': File exists root@openindiana:~# zpool list NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT install 1008M 79K 1008M - 0% 0% 1.00x ONLINE /tmp/install rpool1 1.36T 45.2G 1.32T - 3% 3% 1.00x ONLINE - root@openindiana:~# zpool export install root@openindiana:~# zpool import -d /tmp pool: rpool1 id: 13703812137835041293 state: ONLINE action: The pool can be imported using its name or numeric identifier. config: rpool1 ONLINE /tmp/vdev ONLINE root@openindiana:~# zpool import -d /tmp -t rpool1 example root@openindiana:~# zpool list NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT example 1008M 102K 1008M - 0% 0% 1.00x ONLINE - rpool1 1.36T 45.2G 1.32T - 3% 3% 1.00x ONLINE - root@openindiana:~# zdb -p /tmp -e rpool1 Configuration for import: vdev_children: 1 version: 5000 pool_guid: 13703812137835041293 name: 'rpool1' state: 0 hostid: 28659539 hostname: 'openindiana' vdev_tree: type: 'root' id: 0 guid: 13703812137835041293 children[0]: type: 'file' id: 0 guid: 14836473760768821933 metaslab_array: 35 metaslab_shift: 24 ashift: 9 asize: 1069023232 is_log: 0 create_txg: 4 path: '/tmp/vdev' zdb: can't open 'rpool1': File exists root@openindiana:~# zpool export example root@openindiana:~# zpool import -d /tmp pool: rpool1 id: 13703812137835041293 state: ONLINE action: The pool can be imported using its name or numeric identifier. config: rpool1 ONLINE /tmp/vdev ONLINE Thanks, Richard Yao
_______________________________________________ developer mailing list [email protected] http://lists.open-zfs.org/mailman/listinfo/developer
