From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 7483 invoked from network); 5 Nov 2022 04:31:18 -0000 Received: from tb-ob20.topicbox.com (173.228.157.66) by inbox.vuxu.org with ESMTPUTF8; 5 Nov 2022 04:31:18 -0000 Received: from tb-mx1.topicbox.com (tb-mx1.nyi.icgroup.com [10.90.30.61]) by tb-ob20.topicbox.com (Postfix) with ESMTP id 9CDC11E621 for ; Sat, 5 Nov 2022 00:31:14 -0400 (EDT) (envelope-from bounce.mMcfef687d4d59cc5bad0576f2.r522be890-2105-11eb-b15e-8d699134e1fa@9fans.bounce.topicbox.com) Received: by tb-mx1.topicbox.com (Postfix, from userid 1132) id 577B930F117; Sat, 5 Nov 2022 00:31:14 -0400 (EDT) ARC-Authentication-Results: i=2; topicbox.com; arc=pass; dkim=none (no signatures found); dmarc=pass policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=eigenstate.org; spf=pass smtp.mailfrom=ori@eigenstate.org smtp.helo=mimir.eigenstate.org; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=message-id:to:subject:date:from:in-reply-to :mime-version:content-type:content-transfer-encoding:list-help :list-id:list-post:list-subscribe:reply-to:list-unsubscribe; s= sysmsg-1; t=1667622674; bh=3ceXK9VgC6qjaJ8udZFHG9FTZ1bhXUk9lor3v MonX3E=; b=C5f5oYxEohtp2qTJMORXE5QqFnteD5pX7n6oeCSVdyUXdC1qsFB2d 87RBljunYu+l7KVwr9XuG61xS7exrl9uYHQbw9DXIuw+Gvv8M3hvnM1HY/tlBmNw LBmKoeGlLtmKTrBKuddEGbwJANpm0U+GqZWbcPNoR86eePjSzy7Hn0= ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=topicbox.com; s=sysmsg-1; t= 1667622674; b=jBn2MMzShHb/svy1XJly/2sgqDRnGcuuywR0GACV4C5qLUL+fp uabH2F3JwQbjELFji4Nwq3yPYzTQLh+AqW9r9dGh3VnoyutQJuiguPjpsOOPdwBz sR55wy0EPhRfTGqAB9uHBD7xQyxTqW65TbZtgyxrPE0F2O9Fz2dyM61Fo= Authentication-Results: topicbox.com; arc=pass; dkim=none (no signatures found); dmarc=pass policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=eigenstate.org; spf=pass smtp.mailfrom=ori@eigenstate.org smtp.helo=mimir.eigenstate.org; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) X-Received-Authentication-Results: tb-mx1.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=none (no signatures found); dmarc=pass policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=eigenstate.org; iprev=fail smtp.remote-ip=206.124.132.107 (Error NOERROR looking up 206.124.132.107 PTR,Error Error NXDOMAIN looking up mimir.eigenstate.org. A looking up mimir.eigenstate.org. A,Error Error NXDOMAIN looking up mimir.eigenstate.org. AAAA looking up mimir.eigenstate.org. AAAA); spf=pass smtp.mailfrom=ori@eigenstate.org smtp.helo=mimir.eigenstate.org; x-aligned-from=pass (Address match); x-me-sender=none; x-ptr=fail smtp.helo=mimir.eigenstate.org policy.ptr=""; x-return-mx=pass header.domain=eigenstate.org policy.is_org=yes (MX Records found: eigenstate.org,mail.pikopiko.org,kusuri.pikopiko.org,nokogiri.pikopiko.org); x-return-mx=pass smtp.domain=eigenstate.org policy.is_org=yes (MX Records found: eigenstate.org,mail.pikopiko.org,kusuri.pikopiko.org,nokogiri.pikopiko.org); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=9fans.net; h=message-id :to:subject:date:from:in-reply-to:mime-version:content-type :content-transfer-encoding:list-help:list-id:list-post :list-subscribe:reply-to:list-unsubscribe; s=dkim-1; t= 1667622674; x=1667709074; bh=3ceXK9VgC6qjaJ8udZFHG9FTZ1bhXUk9lor 3vMonX3E=; b=W/DXAvKGY1mU7YJ/n2SghqRP47RmbeMqDQUjastRY289BJloNkv ZSVFtm/5ZN0fWFEJ95eckWONjk5p+uzk1bOrUZj7dGFqo0porjoE0l29805vP5+i fvWJAAhlqJFcQh2E/IoWT41TD36lMYiqCMb49kemUlGFhRpTGziIP19U= Received: from tb-mx1.topicbox.com (localhost.local [127.0.0.1]) by tb-mx1.topicbox.com (Postfix) with ESMTP id 999BC30ECEE for <9fans@9fans.net>; Sat, 5 Nov 2022 00:31:00 -0400 (EDT) (envelope-from ori@eigenstate.org) Received: from tb-mx1.topicbox.com (localhost [127.0.0.1]) by tb-mx1.topicbox.com (Authentication Milter) with ESMTP id 56C76AD1648; Sat, 5 Nov 2022 00:31:00 -0400 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1667622660; b=FLRogXJS3aZpdgArBM1ZPCqcpMdZKKh1d6FSxm0LBUhzSYn3kQ nL3Vy/3bPMBqcLpvwxld7fGiN4o0+ZvNDGdG2VKr54A7LzjOhSqFYHDCtU3f8+ZS yIACdeq9GhwnWCSmfqmzJb92NuCMPrx5QnQO82CdjbcmKRrxlVmg2lbFY5wdGCNH 6SbdsNb+YpsLndhKDg74j0fdt54zIsIEIeFqy3JmutkVvT2zMFu1XOYJR8OahqKx 8kgU/EcwO2lBwNXD7vK1TpglzHihWPHQPi/T8UBwfrFAD3gT7zH7eFIo29hNHuWl 9yvNtJaxZF8C8bhMjBrxU8YKYYgAJ4aENvPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=message-id:to:subject:date:from:in-reply-to :mime-version:content-type:content-transfer-encoding; s=arcseal; t=1667622660; bh=LPbhF9bgDg3rD9CJX97KidRWY8kTudgOBKY932aR3qY=; b= hlfV0xzEpfLPBlwh1i3cEuTGJsLlYJLghYHMOsEkiNRYfxznGipyDJm2NeX0LhFL Q4HCr3Sr79XWxdHNUU+05Fmrii0Kg0afGblEo2LTG6zHvY6jMyOdjRQDbT/Aai/l CHVOo8uquIt4hal4iTflOfeL4z/hxLlT5oqv5Z+uT52OFgK+HJgc7dQGYyGTVJx9 Har1rWrbOCFfAqct4IQX66W8/kiGeV1GR7QBAQXhbE/TYN//3/l3pBJV314NL7jJ 4jnrohCEHtLj+sHTyg+SxDOX+pgPGy5EKg+UJXvtsdqryLDvYD5hH2GqzLOswTde 9vAp93ODp9pyzRS8h3d5SA== ARC-Authentication-Results: i=1; tb-mx1.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=none (no signatures found); dmarc=pass policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=eigenstate.org; iprev=fail smtp.remote-ip=206.124.132.107 (Error NOERROR looking up 206.124.132.107 PTR,Error Error NXDOMAIN looking up mimir.eigenstate.org. A looking up mimir.eigenstate.org. A,Error Error NXDOMAIN looking up mimir.eigenstate.org. AAAA looking up mimir.eigenstate.org. AAAA); spf=pass smtp.mailfrom=ori@eigenstate.org smtp.helo=mimir.eigenstate.org; x-aligned-from=pass (Address match); x-me-sender=none; x-ptr=fail smtp.helo=mimir.eigenstate.org policy.ptr=""; x-return-mx=pass header.domain=eigenstate.org policy.is_org=yes (MX Records found: eigenstate.org,mail.pikopiko.org,kusuri.pikopiko.org,nokogiri.pikopiko.org); x-return-mx=pass smtp.domain=eigenstate.org policy.is_org=yes (MX Records found: eigenstate.org,mail.pikopiko.org,kusuri.pikopiko.org,nokogiri.pikopiko.org); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgedvgedrvddvgdejudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdpuffr tefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhepkffvufffhf gjgggtgfesthekjedttddtjeenucfhrhhomhepohhrihesvghighgvnhhsthgrthgvrdho rhhgnecuggftrfgrthhtvghrnhepkeetjeeujeeuffekleeuhefhueeiledvjefhleefgf efveeukeevhfeivedthedtnecukfhppedvtdeirdduvdegrddufedvrddutdejpddutdek rddvjedrheefrdduiedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinh gvthepvddtiedruddvgedrudefvddruddtjedphhgvlhhopehmihhmihhrrdgvihhgvghn shhtrghtvgdrohhrghdpmhgrihhlfhhrohhmpeeoohhrihesvghighgvnhhsthgrthgvrd horhhgqe X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (eigenstate.org: 206.124.132.107 is authorized to use 'ori@eigenstate.org' in 'mfrom' identity (mechanism 'mx' matched)) receiver=tb-mx1.topicbox.com; identity=mailfrom; envelope-from="ori@eigenstate.org"; helo=mimir.eigenstate.org; client-ip=206.124.132.107 Received: from mimir.eigenstate.org (unknown [206.124.132.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx1.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Sat, 5 Nov 2022 00:30:59 -0400 (EDT) (envelope-from ori@eigenstate.org) Received: from abbatoir (pool-108-27-53-161.nycmny.fios.verizon.net [108.27.53.161]) by mimir.eigenstate.org (OpenSMTPD) with ESMTPSA id 50dc8e41 (TLSv1.2:ECDHE-RSA-AES256-SHA:256:NO) for <9fans@9fans.net>; Fri, 4 Nov 2022 21:30:57 -0700 (PDT) Message-ID: To: 9fans@9fans.net Subject: Re: [9fans] A few questions about 9p Date: Sat, 05 Nov 2022 00:30:55 -0400 From: ori@eigenstate.org In-Reply-To: <16676214030.bB1Ae.26874@composer.9fans.topicbox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: a9adcba6-5cc2-11ed-8e11-d14b459a9afa Archived-At: =?UTF-8?B?PGh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85?= =?UTF-8?B?ZmFucy9UMDRlMTFmZTE0NzM5ZGE2OC1NY2ZlZjY4N2Q0ZDU5Y2M1YmFkMDU3?= =?UTF-8?B?NmYyPg==?= List-Help: List-Id: "9fans" <9fans.9fans.net> List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: 9fans <9fans@9fans.net> List-Unsubscribe: , Topicbox-Delivery-ID: 2:9fans:437d30aa-c441-11e9-8a57-d036212d11b0:522be890-2105-11eb-b15e-8d699134e1fa:Mcfef687d4d59cc5bad0576f2:1:rUF0qxv9G799WsgmG04N1sa7-cxkj2ZdSQAsms2dCRo Quoth ibrahim via 9fans <9fans@9fans.net>: > On Saturday, 5 November 2022, at 12:41 AM, ron minnich wrote: > > I'd argue that this may be the most real-world-tested Tflush=C2=A0handl= er you'll see. I have seen Tflush=C2=A0handlers that just return, having do= ne nothing, and it's possible that in many cases, that's good enough. But C= hris's code is VERY heavily tested with real workloads. >=20 > I'm not surprised. Interrupting hardware access for a few kB and risking = to damage the filesystem wouldn't be wise.=20 >=20 > On Saturday, 5 November 2022, at 12:41 AM, ron minnich wrote: > > I also know, as I saw it many times, that the Plan 9 kernel Tflush=C2= =A0could at times get extremely confused. When we ported it to Akaros, we e= ven saw cases where Tflush would run out of control and exhaust the XID spa= ce, sending flush after flush as fast as it could create them. > >=20 >=20 > The rule :=20 >=20 > "Should multiple Tflushes be received for a pending request, they must be= answered in order. A Rflush for any of the multiple Tflushes implies an an= swer for all previous ones. Therefore, should a server receive a request an= d then multiple flushes for that request, it need respond only to the last = flush." >=20 > and : >=20 > "A Tflush can never be responded to by an Rerror message." >=20 > should lead to a dead lock in this situation. Lets say the first Tflush a= rrived and got responded afterwards all the other Tflushes arrive and can't= be responded This situation is impossible -- you can always respond to a Tflush. Repeate= d tflushes for the same tag may simply be coalesced into one response. > so all ntags used by Tflush messages after the first can't be used by the= client cause there are pending unanswered requests by the client. The serv= er can never respond with an Rerror to a Tflush arriving out of order after= the first Tflush got processed. Yes, it responds with an Rflush. > 1) All ntags used for Tflush after the first are considered open. 2) A se= rver can't even hint with an error for a Tflush with an inactive oldtag. A flush means "I don't care about the response any more". For example, canc= elling the next mouse read before the mouse moves, because the graphical program is exiting. > Rerror with "error : noldtag invalid" would at least make the ntags reusa= ble for the client. If the client code is conforming to the rules in man(5)= Tflush messages can burn all possible ntag values (16 bit). As can any other message; this is fine, you don't want 65535 outstanding me= ssages anwyays, most of the time. =20 >=20 > If 9P2000 won't change at least some changes to the effects of Tflush and= handling without breaking compatibility would be possible : >=20 > 1) If a response to one of sent Tflush messages is made all Tflush messag= es regarding oldtag are responded not only preceeding ones, cause only one = Rflush or only one response to the oldtag is allowed by the server. >=20 > more important my suggestion : >=20 > 2) Tflush also leads to a clunk of a fid. This lets the server decide if = it will keep the changes or revert them. Flushes are fired on interrupt, because the result of an in-flight read or = write is no longer needed; Why would you want an alarm firing to close the file you're reading? that m= akes no sense. =20 > Those two changes would build a "mini-transaction" enviroment : >=20 > Topen/Tcreate > =3D=3D> starts a file transaction >=20 > Tflush > =3D=3D> interrupt file operation for fid associated with oldtag, clunk th= e fid with a rollback >=20 > Tclunk > =3D=3D> commit changes to the file >=20 > Tversion > =3D=3D> rollback all open changes not commited in the previous session. how would this work for file systems like kbdfs, /net, etc? your proposal d= oesn't work for most of the file systems shipped with plan 9. ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T04e11fe14739da68-Mcfef6= 87d4d59cc5bad0576f2 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription