Date: Fri, 17 Sep 2004 11:29:22 +0200 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: freebsd-geom@freebsd.org Subject: Re: Access counts. Message-ID: <20040917092922.GO30151@darkness.comp.waw.pl> In-Reply-To: <90879.1095411709@critter.freebsd.dk> References: <20040917085744.GN30151@darkness.comp.waw.pl> <90879.1095411709@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
--nOmnfE42odZVW4AG Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Sep 17, 2004 at 11:01:49AM +0200, Poul-Henning Kamp wrote: +> >Now, let's go back to George's problem. Gmirror detects da0s1 as a part +> >of the mirror, it creates consumer, etc. Geom gives da0s1a for tasting. +> >Gmirror opens it for reading, but da0s1 is opened r1w0e1. +> >In the same time, gmirror's working thread wants to update metadata, +> >but it cannot do this, because it cannot open da0s1 for writing, +> >because it has exclusive bit already. In such situation gmirror +> >disconnects this component. +>=20 +> Gmirror does something wrong. +>=20 +> You can upgrade your open from r1w0e1 to r1w1e1 if you want to. You misunderstud me. We have something like this here: taste thread gmirror thread ------------ -------------- g_access(da0s1a, 1, 0, 0) GEOM:g_access(da0s1, 1, 0, 1) g_access(da0s1, 0, 1, 1) -> EPERM This is not the same consumer in taste thread and gmirror thread. --=20 Pawel Jakub Dawidek http://www.FreeBSD.org pjd@FreeBSD.org http://garage.freebsd.pl FreeBSD committer Am I Evil? Yes, I Am! --nOmnfE42odZVW4AG Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFBSq5yForvXbEpPzQRAgOVAJ9Feu8YukQrzJRzZPcqCIHQB4zqJQCg2ucI X6YUQ6S/MnwYFVAPFV1/FuU= =QwYl -----END PGP SIGNATURE----- --nOmnfE42odZVW4AG--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040917092922.GO30151>