mirror_zfs/module
Andrew Barnes 61e99a73bc Preserve asize when last mirror child promoted to top-level vdev
If the smaller of 2 different sized child vdev's of a mirrored vdev is
detached, and the pool has the autoexpand property set to off, as the
remaining larger vdev is promoted to a top level vdev it fails to retain
the asize of the original top level mirror vdev and therefore partially
autoexpands.

This partially autoexpanded state leaves the new vdev too large to
re-mirror by adding the smaller vdev back in, and the pool fails to
utilize the space until next imported.

If the autoexpand property is set to on, the child vdev grows
in size after it has been promoted to a top level vdev as expected.

This commit causes the remaining child mirror to retain the asize of its
old parent mirror vdev if the autoexpand property is set to off,
this allows the smaller vdev to be re-added if required the vdev
can then be told to expand if required by the usual using zpool online -e.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Andrew Barnes <barnes333@gmail.com>
Signed-off-by: George Wilson <george.wilson@delphix.com>
Closes #1208
2014-07-02 14:04:29 -07:00
..
avl Add module versioning 2013-12-06 09:34:41 -08:00
nvpair Fix nvlist 'Bus Error' for Sparc 2014-01-09 15:50:15 -08:00
unicode cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zcommon Check the dataset type more rigorously when fetching properties. 2014-05-06 10:41:46 -07:00
zfs Preserve asize when last mirror child promoted to top-level vdev 2014-07-02 14:04:29 -07:00
zpios cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
.gitignore gitignore: anchor entries at their respective directory 2013-04-02 10:50:17 -07:00
Makefile.in Add KMODDIR to install target 2013-03-06 15:46:40 -08:00