From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 Sender: lost.goblin@gmail.com Received: by 10.236.108.44 with HTTP; Fri, 1 Apr 2011 03:24:16 -0700 (PDT) In-Reply-To: <3adde944e6b9688e2492230f017e56a8@gmx.de> References: <3adde944e6b9688e2492230f017e56a8@gmx.de> Date: Fri, 1 Apr 2011 03:24:16 -0700 X-Google-Sender-Auth: r3ZIszuFpLHyX98PtAptn0k11W8 Message-ID: Subject: Re: todo From: Uriel To: 9front@googlegroups.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable We already went down the path of new Tmessages and new Tversions with .u, and it was a huge fucking nightmare. I don't see what is so bad about an alternative attach name for this kinds of operations, somebody did something like that for file change notification and other things, it was really neat. uriel On Fri, Apr 1, 2011 at 3:18 AM, wrote: > as i read the manpage to Tversion, the client first sends something > like 9P2000[.extension] and the server responds with something like > 9Pnnnn. so if we add the extension to like kfs or cwfs, we can > respond with 9P2010 or something and the mnt driver will use the > Tmove rpc. > > but looking at the implementations... we are in trouble... > > cwfs: > =C2=A0 =C2=A0 =C2=A0 =C2=A0/* > =C2=A0 =C2=A0 =C2=A0 =C2=A0 * Should check the '.' stuff here. > =C2=A0 =C2=A0 =C2=A0 =C2=A0 */ > =C2=A0 =C2=A0 =C2=A0 =C2=A0if(strcmp(f->version, VERSION9P) =3D=3D 0){ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0r->version =3D VER= SION9P; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0chan->protocol =3D= serve9p2; > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0chan->msize =3D r-= >msize; > =C2=A0 =C2=A0 =C2=A0 =C2=A0} else > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0r->version =3D "un= known"; > > lib9p: > =C2=A0 =C2=A0 =C2=A0 =C2=A0respond(...): > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0switch(r->ifcall.t= ype){ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0default: > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0assert(0); > > so, just using "P92000" and send blind Tmoves to lib9p based > server will crash them... > > using anything other than "9P2000" will most likely result in > the Tversion to fail with old servers. > > so uriel has a point here... =C2=A0negotiation my ass... =C2=A0but this a= ttach > name hack sucks big time... > > -- > cinap > > > ---------- Forwarded message ---------- > From:=C2=A0Uriel > To:=C2=A09front@googlegroups.com > Date:=C2=A0Fri, 1 Apr 2011 02:30:02 -0700 > Subject:=C2=A0Re: todo > On Fri, Apr 1, 2011 at 12:13 AM, =C2=A0 wrote: >> why? =C2=A0can't we just fire and forget? =C2=A0server that dont know th= e >> command will just reply with an error no? > > We could just as well 9p2010 and be done with it. > > Changing the protocol for this is just stupid, next you will find a > trillion equally good reasons to add other extensions. > > uriel > >> -- >> cinap >> >> >> ---------- Forwarded message ---------- >> From:=C2=A0Uriel >> To:=C2=A09front@googlegroups.com >> Date:=C2=A0Fri, 1 Apr 2011 00:04:18 -0700 >> Subject:=C2=A0Re: todo >> On Thu, Mar 31, 2011 at 9:40 PM, aiju wrote: >>> >>>> This is plain gratuitous idiotic protocol breaking, you can do the >>>> same thing simply by providing an alternative attach name with ctl >>>> file(s) for fancy things like moving stuff around. >>> >>> It doesn't break the protocol at all: Clients which don't need it >>> don't have to know about it and if the server doesn't have it the >>> client can emulate it. >> >> But then the client has to negotiate with the server to find out if it >> supports the Tmove extension, >> it is totally idiotic and retarded, adding it via an alternative >> attach name is trivial and doesn't break any shit. >> >> uriel >> >