Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 May 2006 08:31:01 +0200
From:      Stijn Hoop <stijn@win.tue.nl>
To:        "Rick C. Petty" <rick-freebsd@kiwi-computer.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: gvinum start volume returns EBUSY
Message-ID:  <20060502063101.GA32191@localhost.localdomain>
In-Reply-To: <20060501202711.GA476@megan.kiwi-computer.com>
References:  <20060501202711.GA476@megan.kiwi-computer.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 01, 2006 at 03:27:11PM -0500, Rick C. Petty wrote:
> When rebuilding a degraded plex with "gvinum start volume" on a mounted
> filesystem, gvinum reports "errno: 16" (EBUSY).  In the CVS:
> 
> src/sys/geom/vinum/geom_vinum_init.c, lines 363-364 (of MAIN, added
> 2005-Oct-09, rev 1.10.2.1) has the check:
> 
> 	if (gv_is_open(p->geom))
> 		return (EBUSY);
> 
> Why is this the case?  The log for that change suggests this is to prevent
> sync operations from starting when they are already in progress, but that
> really refers to lines 366-367:
> 
> 	if (p->flags & GV_PLEX_SYNCING)
> 		return (EINPROGRESS);
> 
> It seems to me that lines 363-364 should be deleted.  If you have a
> degraded volume but need to keep it mounted (such as /usr or /home, etc.),
> I can't see any reason why you should be forced to unmount the volume
> before rebuilding (if the volume is RAID5).  Maybe this restriction is
> useful for non-RAID5 configurations, but gv_rebuild_plex is only called
> in the context of GV_PLEX_RAID5 on degraded plexes.
> 
> Maybe I'm misunderstanding something.  Feel free to enlighten me!  :-)

While regular vinum allowed rebuilding plexes that were mounted, I have
seen resulting filesystem corruption afterwards.

Unfortunately I don't know whether Lukas has implemented & tested
rebuilding online plexes for gvinum yet.

--Stijn



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060502063101.GA32191>