From f5e89bc56ac58006ef4f13939001c3d80dd71341 Mon Sep 17 00:00:00 2001 From: ae Date: Wed, 8 Mar 2017 07:59:45 +0000 Subject: MFC r314497: Do not invoke the resize event when previous provider's size was zero. This is similar to r303637 fix for geom_disk. --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'sys/cddl') diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c index 23284a7..07de1d0 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c @@ -267,7 +267,16 @@ zvol_size_changed(zvol_state_t *zv, uint64_t volsize) if (pp == NULL) return; g_topology_lock(); - g_resize_provider(pp, zv->zv_volsize); + + /* + * Do not invoke resize event when initial size was zero. + * ZVOL initializes the size on first open, this is not + * real resizing. + */ + if (pp->mediasize == 0) + pp->mediasize = zv->zv_volsize; + else + g_resize_provider(pp, zv->zv_volsize); g_topology_unlock(); } #endif /* illumos */ -- cgit v1.1