Date: Fri, 4 Feb 2011 07:02:35 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r218253 - projects/graid/head/sys/geom/raid Message-ID: <201102040702.p1472ZZ0072637@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Fri Feb 4 07:02:35 2011 New Revision: 218253 URL: http://svn.freebsd.org/changeset/base/218253 Log: Idle worker thread does not guarantee idle volume. Check for inflight requests also. Modified: projects/graid/head/sys/geom/raid/g_raid.c Modified: projects/graid/head/sys/geom/raid/g_raid.c ============================================================================== --- projects/graid/head/sys/geom/raid/g_raid.c Fri Feb 4 04:56:07 2011 (r218252) +++ projects/graid/head/sys/geom/raid/g_raid.c Fri Feb 4 07:02:35 2011 (r218253) @@ -1204,7 +1204,8 @@ process: TAILQ_FOREACH(vol, &sc->sc_volumes, v_next) { if (vol->v_writes == 0 && !vol->v_idle) g_raid_idle(vol, -1); - if (vol->v_tr) + if (bioq_first(&vol->v_inflight) == NULL && + vol->v_tr) G_RAID_TR_IDLE(vol->v_tr); } } @@ -1634,6 +1635,8 @@ int g_raid_start_volume(struct g_raid_vo G_RAID_EVENT_VOLUME); return (-1); } + G_RAID_DEBUG(2, "Transformation module %s chosen for %s.", + class->name, vol->v_name); vol->v_tr = obj; return (0); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102040702.p1472ZZ0072637>