kern/175323: Fail to use ZVOL as a gmirror component
Pawel Jakub Dawidek
pjd at FreeBSD.org
Tue Jan 22 18:13:02 UTC 2013
On Tue, Jan 22, 2013 at 07:48:05PM +0200, Alexander Motin wrote:
> On 22.01.2013 18:29, Andriy Gapon wrote:
> > on 21/01/2013 14:39 Алексей Волков said the following:
> >> Eventually this patch works for me just fine.
> >>
> >> --- sys/geom/mirror/g_mirror.c (revision 245741)
> >> +++ sys/geom/mirror/g_mirror.c (working copy)
> >> @@ -456,7 +456,7 @@
> >> disk->d_flags = md->md_dflags;
> >> error = g_getattr("GEOM::candelete", disk->d_consumer, &i);
> >> if (error != 0)
> >> - goto fail;
> >> + i=0;
> >> if (i)
> >> disk->d_flags |= G_MIRROR_DISK_FLAG_CANDELETE;
> >> if (md->md_provider[0] != '\0')
> >>
> >
> > So any comments from the GEOM / gmirror guys?
>
> That looks fine to me. I would just do it as:
>
> --- g_mirror.c (revision 245794)
> +++ g_mirror.c (working copy)
> @@ -457,9 +457,7 @@ g_mirror_init_disk(struct g_mirror_softc *sc, stru
> disk->d_priority = md->md_priority;
> disk->d_flags = md->md_dflags;
> error = g_getattr("GEOM::candelete", disk->d_consumer, &i);
> - if (error != 0)
> - goto fail;
> - if (i)
> + if (error == 0 && i != 0)
> disk->d_flags |= G_MIRROR_DISK_FLAG_CANDELETE;
> if (md->md_provider[0] != '\0')
> disk->d_flags |= G_MIRROR_DISK_FLAG_HARDCODED;
Looks good to me.
--
Pawel Jakub Dawidek http://www.wheelsystems.com
FreeBSD committer http://www.FreeBSD.org
Am I Evil? Yes, I Am! http://tupytaj.pl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-geom/attachments/20130122/e99646db/attachment.sig>
More information about the freebsd-geom
mailing list