9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Bakul Shah <bakul@bitblocks.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] suicide message on vmware
Date: Fri,  6 Jun 2014 09:49:45 -0700	[thread overview]
Message-ID: <20140606164945.70A57B827@mail.bitblocks.com> (raw)
In-Reply-To: Your message of "Fri, 06 Jun 2014 11:35:08 EDT." <1706efdd3a7186cc1c2a54f2aba1c56e@brasstown.quanstro.net>

On Fri, 06 Jun 2014 11:35:08 EDT erik quanstrom <quanstro@quanstro.net> wrote:
> On Fri Jun  6 11:26:13 EDT 2014, bakul@bitblocks.com wrote:
> >
> > > On Jun 5, 2014, at 8:15 PM, Ramakrishnan Muthukrishnan <vu3rdd@gmail.com>
>  wrote:
> > >
> > > Hi,
> > >
> > > I just saw a suicide message on 9atom running on plan9 while updating
> > > the system:
> > >
> > > % replica/pull -v /dist/replica/network
> >
> > I missed that you were running 9atom. Using old binaries to copy the new ke
> rnel to /n/9fat and rebooting means now you're running the bell labs kernel.
> I don't know how different the two kernels are but if you want to continue ru
> nning 9atom everything, you may have to undo nsec related changes in the user
> land.
> >
> > More generally, as this nsec change demonstrates, if you rely on sources ov
> er which you have no control & you also have local changes, you pretty much h
> ave to treat the external sources as a "vendor branch" and do a careful merge
>  to avoid such surprises.
>
> that's not how replica works.  replica respects local changes.  however,
> since in this case two different databases were mixed up, there is little
> chance that the user has a sane system.

What two databases?

Replica respects local changes at the file level.  You still
have to do a manual merge if the server version changed as
well.

The bigger issue is that the unit of update needs to be a
*set* of files that take a system from one consistent state to
another. If you update only a subset of files, you may be left
with an inconsistent system.

Another issue: your local changes may depend on the contents
of a file that you never changed so the update can overwrite
it with new and possibly incompatible contents. For all these
reasons external sources should go in a vendor branch.

And I never understood why binaries are pulled.  It is not
like on Linux/*BSD where building binaries takes a long time.

And replica (& related scripts) can't deal with changes like
syscall updates.

For a foolproof update in case of incompatible kernel changes
(and if you're running the same distribution as you pulled
from), you should

1. build all binaries and new kernels (but not install)
2. install the new kernel (& loader) on the boot partition
3. reboot
4. install new binaries
5. reboot

If you have local changes, you have to add

0. pull in a "vendor branch" and merge changes



  parent reply	other threads:[~2014-06-06 16:49 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-06  3:15 Ramakrishnan Muthukrishnan
2014-06-06  3:21 ` erik quanstrom
2014-06-06  4:05   ` Ramakrishnan Muthukrishnan
2014-06-06  5:18     ` Ramakrishnan Muthukrishnan
2014-06-06  6:00       ` Bakul Shah
2014-06-06  7:32         ` Ramakrishnan Muthukrishnan
2014-06-06  8:00           ` Bakul Shah
2014-06-06  8:33             ` Ramakrishnan Muthukrishnan
2014-06-06 15:24 ` Bakul Shah
2014-06-06 15:35   ` erik quanstrom
2014-06-06 15:46     ` Ramakrishnan Muthukrishnan
2014-06-06 15:50       ` erik quanstrom
2014-06-06 16:49     ` Bakul Shah [this message]
2014-06-06 16:59       ` erik quanstrom
2014-06-06 15:52   ` Ramakrishnan Muthukrishnan
2014-06-06 15:55     ` erik quanstrom
2014-06-06 16:07       ` Ramakrishnan Muthukrishnan
2014-06-06 16:26         ` erik quanstrom
2014-06-06 16:38           ` Ramakrishnan Muthukrishnan
2014-06-07 11:24           ` Ramakrishnan Muthukrishnan
2014-06-07 11:29             ` Aram Hăvărneanu
2014-06-07 14:42             ` erik quanstrom
2014-06-07 17:11               ` Ramakrishnan Muthukrishnan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140606164945.70A57B827@mail.bitblocks.com \
    --to=bakul@bitblocks.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).