Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Apr 2010 12:50:07 +0200
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        Luigi Rizzo <rizzo@iet.unipi.it>
Cc:        fabio@gandalf.sssup.it, freebsd-geom@FreeBSD.org
Subject:   Re: svn commit: r206497 - in head: sbin/geom/class sbin/geom/class/sched sys/geom/sched sys/modules/geom sys/modules/geom/geom_sched sys/modules/geom/geom_sched/gs_sched sys/modules/geom/geom_sched/gsc...
Message-ID:  <20100414105007.GC1657@garage.freebsd.pl>
In-Reply-To: <20100414084750.GC74130@onelab2.iet.unipi.it>
References:  <201004121637.o3CGbjSK080066@svn.freebsd.org> <20100412204926.GB1743@garage.freebsd.pl> <20100412210512.GB94885@onelab2.iet.unipi.it> <20100414074616.GA1657@garage.freebsd.pl> <20100414075838.GB1657@garage.freebsd.pl> <20100414084750.GC74130@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help

--p2kqVDKq5asng8Dg
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Apr 14, 2010 at 10:47:50AM +0200, Luigi Rizzo wrote:
> again i am not sure i remember all the details, but i think the
> old name need to remain where it is or you'd need to relink
> the nodes ?
>=20
> > geom disk list ad4
> Geom name: ad4
> Providers:
> 1. Name: ad4.sched.
>    Mediasize: 250059350016 (233G)
>    Sectorsize: 512
>    Mode: r5w5e6
>    fwsectors: 63
>    fwheads: 16

Here we operate on geom names, not provider names, so it works
correctly.

I believe gnop won't work, though, as this code suggests (name contains
provider name given for 'gnop configure' command):

	if (strncmp(name, "/dev/", strlen("/dev/")) =3D=3D 0)
		name +=3D strlen("/dev/");
	pp =3D g_provider_by_name(name);
	if (pp =3D=3D NULL || pp->geom->class !=3D mp) {
		G_NOP_DEBUG(1, "Provider %s is invalid.", name);
		gctl_error(req, "Provider %s is invalid.", name);
		return;=20
	}

You can try the following:

	# gnop create ad4
	(/dev/ad4.nop is created)
	# gsched insert ad4.nop
	# gnop configure -w 1 ad4.nop
	This should trigger the error above, but this should work:
	# gnop configure -w 1 ad4.nop.sched

> > Another thing that comes to my mind is possibility to create providers
> > that are not represented in /dev/. Name collision wouldn't be a problem
> > then. Also, it seems nicer to not polute /dev/ with such
> > proxy-providers.
>=20
> it's already like this -- the names do not appear in /dev

Right, I saw you cancel events on creation, so taste is not send to DEV
class. Hmm, but taste can still be send on last write close, which I
believe is not handled currently. If I'm right, something like this will
make .sched provider to appear in /dev/:

	# mdconfig -a -t malloc -s 1m -u 0
	# gsched insert md0
	# true >/dev/md0
	# ls /dev/md0*

--=20
Pawel Jakub Dawidek                       http://www.wheelsystems.com
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--p2kqVDKq5asng8Dg
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iEYEARECAAYFAkvFnd4ACgkQForvXbEpPzTDuACfSW88GNQs5l5Gpahi8ml07Neo
W24AoMQHfMJGgh6alS1DSoKiQuLcwvPN
=XSio
-----END PGP SIGNATURE-----

--p2kqVDKq5asng8Dg--



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