linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Re: Updates to /bin/bash
@ 2000-05-04 19:53 Mark_H_Johnson.RTS
  2000-05-05  0:14 ` Matthew Vanecek
  0 siblings, 1 reply; 6+ messages in thread
From: Mark_H_Johnson.RTS @ 2000-05-04 19:53 UTC (permalink / raw)
  To: Andrea Arcangeli; +Cc: linux-kernel, linux-mm, quintela, trond.myklebust


On this issue [updates to active files...] how does the typical distribution
update process handle this? For example, if I'm doing a package update using a
typical tool [gnoRPM, kpackage, etc.] what is happening behind the scenes to
prevent disaster? The situation where I've booted from CD-ROM & doing a major
distribution update would be safe doing a simple replacement. OTOH, if I get an
"urgent" patch that I need to apply, must I track down all the jobs that are
currently using the files being updated, get them stopped, do the update, and
then restart them to be "safe"? [and I'll quit doing the "dangerous" updates
that I've been doing through ignorance] If so, is that going to kill the use of
Linux in high availability situations [or must I run redundant systems to work
around this]?

The alternative I've seen in other OS's is to retain the old file "hidden" on
the file system [old inode]. All new references go to the new copy [new inode],
all old references refer to the hidden one [old inode]. When the [old inode]
reference count goes to zero, the hidden one is finally deleted. If the volume
is improperly dismounted [e.g., system crash] prior to the last user getting
done, the fsck done at reboot does the cleanup instead.
--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


|--------+----------------------->
|        |          Andrea       |
|        |          Arcangeli    |
|        |          <andrea@suse.|
|        |          de>          |
|        |                       |
|        |          05/04/00     |
|        |          01:43 PM     |
|        |                       |
|--------+----------------------->
  >----------------------------------------------------------------------------|
  |                                                                            |
  |       To:     Trond Myklebust <trond.myklebust@fys.uio.no>                 |
  |       cc:     "Juan J. Quintela" <quintela@fi.udc.es>, linux-mm@kvack.org, |
  |       linux-kernel@vger.rutgers.edu, (bcc: Mark H Johnson/RTS/Raytheon/US) |
  |       Subject:     Re: classzone-VM + mapped pages out of lru_cache        |
  >----------------------------------------------------------------------------|



On 4 May 2000, Trond Myklebust wrote:

>Not good. If I'm running /bin/bash, and somebody on the server updates
>/bin/bash, then I don't want to reboot my machine. With the above

If you use rename(2) to update the shell (as you should since `cp` would
corrupt also users that are reading /bin/bash from local fs) then nfs
should get it right also with my patch since it should notice the inode
number changed (the nfs fd handle should get the inode number as cookie),
right?
[snip]




--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/

^ permalink raw reply	[flat|nested] 6+ messages in thread
* Re: Updates to /bin/bash
@ 2000-05-05 13:32 Mark_H_Johnson.RTS
  0 siblings, 0 replies; 6+ messages in thread
From: Mark_H_Johnson.RTS @ 2000-05-05 13:32 UTC (permalink / raw)
  To: trond.myklebust; +Cc: linux-kernel, linux-mm, linuxguy


Just to recap & make sure I have this straight.

 (1) IF I'm dealing with local files & do NOT have the area NFS mounted, then
the typical methods of updating files is OK.

 (2) IF I'm dealing with NFS mounted files, all bets are off. Please confirm
that I should take some action (e.g., remount the volume) to make sure the state
is purged after the updates are made.

I can see that how the second situation works has an impact on diskless (or
small disk) workstations [seems to cause lots of administrative headaches that I
would like to avoid]. I'm in the middle of planning the deployment of a few
clustered systems (head node w/ up to 40 compute nodes) as well as 100-200
workstations for development. If I understand this right, I should spend a
little more money to put bigger disks on each machine & have most of the OS and
tools hosted on each machine. Then use rdist or similar method to keep the
machines updated. Restrict the use of NFS mounting (with appropriate controls)
for the items I just "have to share". [this may also explain why we've had
problems on our currently deployed systems using NFS... Hmm.]

Thanks for the explanations.
--Mark H Johnson
  <mailto:Mark_H_Johnson@raytheon.com>


|--------+---------------------------->
|        |          Trond Myklebust   |
|        |          <trond.myklebust@f|
|        |          ys.uio.no>        |
|        |                            |
|        |          05/05/00 02:14 AM |
|        |          Please respond to |
|        |          trond.myklebust   |
|        |                            |
|--------+---------------------------->
  >----------------------------------------------------------------------------|
  |                                                                            |
  |       To:     Matthew Vanecek <linuxguy@directlink.net>                    |
  |       cc:     linux-kernel@vger.rutgers.edu, linux-mm@kvack.org, (bcc: Mark|
  |       H Johnson/RTS/Raytheon/US)                                           |
  |       Subject:     Re: Updates to /bin/bash                                |
  >----------------------------------------------------------------------------|



>>>>> " " == Matthew Vanecek <linuxguy@directlink.net> writes:

    >> On 4 May 2000, Trond Myklebust wrote:
    >>
    >> >Not good. If I'm running /bin/bash, and somebody on the server
    >> >updates /bin/bash, then I don't want to reboot my
    >> >machine. With the above
    >>

     > You wouldn't have to reboot.  Why would you think you need to
     > reboot?  This isn't Winbloze, for god's sake.  All it means is
     > that new bash processes will use the updated version, while old
     > processes would still be using the old version--it's loaded in

NO. This behaviour is exactly what Andreas patch would break. New
processes would get a mixture of old and new versions because the page
cache itself would be out of sync.

     > memory, remember?  Hell, you can even overwrite the libc on a
     > running system.

That is only true of files on local storage. We are discussing NFS,
which is a stateless file system.

Cheers,
  Trond
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/




--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2000-05-06 17:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-05-04 19:53 Updates to /bin/bash Mark_H_Johnson.RTS
2000-05-05  0:14 ` Matthew Vanecek
2000-05-05  7:14   ` Trond Myklebust
2000-05-06 13:15     ` Andrea Arcangeli
2000-05-06 17:02   ` Steve Dodd
2000-05-05 13:32 Mark_H_Johnson.RTS

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox