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=-0.8 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,HTML_MESSAGE,LOTS_OF_MONEY, MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 11807 invoked from network); 31 Dec 2021 02:24:00 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 31 Dec 2021 02:24:00 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id DB83B9D007; Fri, 31 Dec 2021 12:23:58 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 107CF9D006; Fri, 31 Dec 2021 12:23:50 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="jIZiHtb3"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 9E8E79D007; Fri, 31 Dec 2021 12:23:48 +1000 (AEST) Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by minnie.tuhs.org (Postfix) with ESMTPS id 221C89D006 for ; Fri, 31 Dec 2021 12:23:48 +1000 (AEST) Received: by mail-pj1-f49.google.com with SMTP id f18-20020a17090aa79200b001ad9cb23022so24580455pjq.4 for ; Thu, 30 Dec 2021 18:23:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=p58hvcBUI2gw9YGAKdWobwqNCJSeNgpCn+abccV3VmE=; b=jIZiHtb3ilbklcgNy443JXxkYrp9K/As+IvjuIb1fEEYtDMnlRmOESwf/G+P5oRMsk QDXz7UmumGk5beZpLOf1TMQMGyRHoBUlsIUYyivPiMyx4RpXqI0UXxgoYsnCOydFEw7S oOK4NWsXjqHDH1lB/AozHjOZ+vv7Ri3aVFYd0UpKVvh9ZdsTHc0rD1nAibwjMPvs5X8o +sWtwBw4undarUNv1XAQQBVBrhksaKpLaHkiOOXmgJLP6pGKrBpaOLoq3NTh6b0bDzAI zWVuWpuH2iFG3DWxmCNi4It4jpBOwbaayG2US51k2cmRvr9PtMawIxa5hREy2zJtdv+Z chHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=p58hvcBUI2gw9YGAKdWobwqNCJSeNgpCn+abccV3VmE=; b=L2+wkQM0aVSKWErQTMk2R3YLxwGegBieZmgG949K2vYflQjTrEvxzSm7UktAAl9spT THjWDkBAKHhdmJht4YVrjmju5ji/ou5npsnxGVj8tPPCtSbxjyGlUPFqvHUX2NTSBn01 A3ZVjv/yVQT8bgMOuGV82Lk9hKo8ULx9EY49wLHzRg39l4UGiDgT6m8CZ87Ro0H5pKq8 JL4ATCLFJy6NjlY07DiHwK2LoJ/bbWcogBlf0yEX9Tgr1Qdv0zMNWnxIf0xh6YfKVHum V4WU/4ka6bGboTeEIE8Cy+kmAYR24Ea3UNZNvRqVufta5ppOEHt22YI260s+QQdBFb6m YyKw== X-Gm-Message-State: AOAM533sHtY3mvUqOREomhuul78AL8Oz2Pwg5KjkRhwxqCZrTIaJmGRF oeeAnn8N0+4NVQ7RJl3RlqePX2WdKIYydburt0A= X-Google-Smtp-Source: ABdhPJzGbWiJgi3zyfaGa0SLvpozb8qRNyXJiotsHaVFAmvN4SizLAOCHllRUY30RvCX8I+xWrZKNpFPajb7cm/4nBQ= X-Received: by 2002:a17:902:db03:b0:149:3c54:ef98 with SMTP id m3-20020a170902db0300b001493c54ef98mr33205051plx.165.1640917427500; Thu, 30 Dec 2021 18:23:47 -0800 (PST) MIME-Version: 1.0 References: <20211230034512.B9B3718C08E@mercury.lcs.mit.edu> <99D8FDF5-7B60-43CA-AAAD-974056644668@iitbombay.org> In-Reply-To: From: Adam Thornton Date: Thu, 30 Dec 2021 19:23:36 -0700 Message-ID: To: Bakul Shah , Computer Old Farts Followers Subject: Re: [COFF] [TUHS] moving directories in svr2 X-BeenThere: coff@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Computer Old Farts Forum List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============2308455388208952248==" Errors-To: coff-bounces@minnie.tuhs.org Sender: "COFF" --===============2308455388208952248== Content-Type: multipart/alternative; boundary="0000000000005f3d0505d467dc08" --0000000000005f3d0505d467dc08 Content-Type: text/plain; charset="UTF-8" Moving to COFF, perhaps prematurely, but... It feels weird to be a Unix native (which I consider myself: got my first taste of Irix and SVR3 in 1989, went to college where it was a Sun-mostly environment, started running Linux on my own machines in 1992 and never stopped). (For purposes of this discussion, of course Linux is Unix.) It feels weird the same way it was weird when I was working for Express Scripts, and then ESRX bought Medco, and all of a sudden we were the 500-lb Gorilla. That's why I left: we (particularly my little group) had been doing some fairly cool and innovative stuff, and after that deal closed, we switched over entirely to playing defense, and it got really boring really fast. My biggest win after that was showing that Pega ran perfectly fine on Tomcat, which caused IBM to say something like "oh did we say $5 million a year to license Websphere App Server? Uh...we meant $50K." So I saved them a lot of money but it sucked to watch several months' work flushed down the toilet, even though the savings to the company was many times my salary for those months. But the weird part is similar: Unix won. Windows *lost*. Sure, corporate desktops still mostly run Windows, and those people who use it mostly hate it. But people who like using computers...use Macs (or, sure, Linux, and then there are those weirdos like me who enjoy running all sorts of ancient-or-niche-systems, many of which are Unix). And all the people who don't care do computing tasks on their phones, which are running either Android--a Unix--or iOS--also a Unix. It's ubiquitous. It's the air you breathe. It's no longer strange to be a Unix user, it means you use a 21st-century electronic device. And, sure, it's got its warts, but it's still basically the least-worst thing out there. And it continues to flabbergast me that a typesetting system designed to run on single-processor 16-bit machines has, basically, conquered the world. Adam P.S. It's also about time, he said with a sigh of relief, having been an OS/2 partisan, and a BeOS partisan, back in the day. Nice to back a winning horse for once. On Thu, Dec 30, 2021 at 6:46 PM Bakul Shah wrote: > ? > > I was just explaining Ts'o's point, not agreeing with it. The first > example I > gave works just fine on plan9 (unlike on unix). And since it doesn't allow > renames, the scenario T'so outlines can't happen there! But we were > discussing Unix here. > > As for symlinks, if we have to have them, storing a path actually makes > their > use less surprising. > > We're in the 6th decade of Unix and we still suffer from unintended, > fixable consequences of decisions made long long ago. > > > No argument here. Perhaps you can suggest a path for fixing? > > On Dec 30, 2021, at 5:00 PM, Rob Pike wrote: > > Grumpy hat on. > > Sometimes the Unix community suffers from the twin attitudes of a) > believing if it can't be done perfectly, any improvement shouldn't be > attempted at all and b) it's already done as well as is possible anyway. > > I disagree with both of these positions, obviously, but have given up > pushing against them. > > We're in the 6th decade of Unix and we still suffer from unintended, > fixable consequences of decisions made long long ago. > > Grumpy hat off. > > -rob > > > On Fri, Dec 31, 2021 at 11:44 AM Bakul Shah wrote: > >> On Dec 30, 2021, at 2:31 PM, Dan Cross wrote: >> > >> > On Thu, Dec 30, 2021 at 11:41 AM Theodore Ts'o wrote: >> >> >> >> The other problem with storing the path as a string is that if >> >> higher-level directories get renamed, the path would become >> >> invalidated. If you store the cwd as "/foo/bar/baz/quux", and someone >> >> renames "/foo/bar" to "/foo/sadness" the cwd-stored-as-a-string would >> >> become invalidated. >> > >> > Why? Presumably as you traversed the filesystem, you'd cache, (path >> > component, inode) pairs and keep a ref on the inode. For any given >> > file, including $CWD, you'd know it's pathname from the root as you >> > accessed it, but if it got renamed, it wouldn't matter because you'd >> > have cached a reference to the inode. >> >> Without the ".." entry you can't map a dir inode back to a path. >> Note that something similar can happen even today: >> >> $ mkdir ~/a; cd ~/a; rm -rf ~/a; cd .. >> cd: no such file or directory: .. >> >> $ mkdir -p ~/a/b; ln -s ~/a/b b; cd b; mv ~/a/b ~/a/c; cd ../b >> ls: ../b: No such file or directory >> >> You can't protect the user from every such case. Storing a path >> instead of the cwd inode simply changes the symptoms. >> >> >> > --0000000000005f3d0505d467dc08 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Moving to COFF, perhaps prematurely, but...

It feels weird to be a Unix native (which I consider myself= : got my first taste of Irix and SVR3 in 1989, went to college where it was= a Sun-mostly environment, started running Linux on my own machines in 1992= and never stopped).=C2=A0 (For purposes of this discussion, of course Linu= x is Unix.)

It feels weird the same way it was= weird when I was working for Express Scripts, and then ESRX bought Medco, = and all of a sudden we were the 500-lb Gorilla.=C2=A0 That's why I left= : we (particularly my little group) had been doing some fairly cool and inn= ovative stuff, and after that deal closed, we switched over entirely to pla= ying defense, and it got really boring really fast.=C2=A0 My biggest win af= ter that was showing that Pega ran perfectly fine on Tomcat, which caused I= BM to say something like "oh did we say $5 million a year to license W= ebsphere App Server?=C2=A0 Uh...we meant $50K."=C2=A0 So I saved them = a lot of money but it sucked to watch several months' work flushed down= the toilet, even though the savings to the company was many times my salar= y for those months.

But the weird part is simi= lar: Unix won.=C2=A0 Windows *lost*.=C2=A0 Sure, corporate desktops still m= ostly run Windows, and those people who use it mostly hate it.=C2=A0 But pe= ople who like using computers...use Macs (or, sure, Linux, and then there a= re those weirdos like me who enjoy running all sorts of ancient-or-niche-sy= stems, many of which are Unix).=C2=A0 And all the people who don't care= do computing tasks on their phones, which are running either Android--a Un= ix--or iOS--also a Unix.=C2=A0 It's ubiquitous.=C2=A0 It's the air = you breathe.=C2=A0 It's no longer strange to be a Unix user, it means y= ou use a 21st-century electronic device.

And, = sure, it's got its warts, but it's still basically the least-worst = thing out there.=C2=A0 And it continues to flabbergast me that a typesettin= g system designed to run on single-processor 16-bit machines has, basically= , conquered the world.

Adam

P.S.=C2=A0 It's also about time, he said with a sigh of relief, havi= ng been an OS/2 partisan, and a BeOS partisan, back in the day.=C2=A0 Nice = to back a winning horse for once.

On Thu, Dec 30, 2021 at 6:46 PM = Bakul Shah <bakul@iitbombay.org> wrote:
?

I was just explainin= g Ts'o's point, not agreeing with it. The first example I
gave works just fine on plan9 (unlike on unix). And since it doesn't a= llow
renames, the scenario T'so outlines can't happen the= re! But we were
discussing Unix here.

As= for symlinks, if we have to have them, storing a path actually makes their=
use less surprising.

We're in the 6th decade of Unix and we = still suffer from unintended, fixable consequences of decisions made long l= ong ago.

No argument here. Perhaps you can suggest a path for fixing?


Grumpy hat= on.

Sometimes the Unix community suffers from the twin = attitudes of a) believing if it can't be done perfectly, any improvemen= t shouldn't be attempted at all and b) it's already done as well as= is possible anyway.

I disagree with both of these= positions, obviously, but have given up pushing against them.
We're in the 6th decade of Unix and we still suffer from u= nintended, fixable consequences of decisions made long long ago.
=
Grumpy hat off.

-rob

=

On Fri, Dec 31, 2021 at 11:44 AM Bakul Shah <bakul@iitbombay.org> wrote:
<= /div>
On Dec 30, 2021, at = 2:31 PM, Dan Cross <crossd@gmail.com> wrote:
>
> On Thu, Dec 30, 2021 at 11:41 AM Theodore Ts'o <tytso@mit.edu> wrote:
>>
>> The other problem with storing the path as a string is that if
>> higher-level directories get renamed, the path would become
>> invalidated.=C2=A0 If you store the cwd as "/foo/bar/baz/quux= ", and someone
>> renames "/foo/bar" to "/foo/sadness" the cwd-s= tored-as-a-string would
>> become invalidated.
>
> Why? Presumably as you traversed the filesystem, you'd cache, (pat= h
> component, inode) pairs and keep a ref on the inode.=C2=A0 For any giv= en
> file, including $CWD, you'd know it's pathname from the root a= s you
> accessed it, but if it got renamed, it wouldn't matter because you= 'd
> have cached a reference to the inode.

Without the ".." entry you can't map a dir inode back to a pa= th.
Note that something similar can happen even today:

$ mkdir ~/a; cd ~/a; rm -rf ~/a; cd ..
cd: no such file or directory: ..

$ mkdir -p ~/a/b; ln -s ~/a/b b; cd b; mv ~/a/b ~/a/c; cd ../b
ls: ../b: No such file or directory

You can't protect the user from every such case. Storing a path
instead of the cwd inode simply changes the symptoms.



--0000000000005f3d0505d467dc08-- --===============2308455388208952248== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQ09GRiBtYWls aW5nIGxpc3QKQ09GRkBtaW5uaWUudHVocy5vcmcKaHR0cHM6Ly9taW5uaWUudHVocy5vcmcvY2dp LWJpbi9tYWlsbWFuL2xpc3RpbmZvL2NvZmYK --===============2308455388208952248==--