Re: Updates to /bin/bash

From: Mark_H_Johnson.RTS@raytheon.com
Date: Thu May 04 2000 - 14:53:24 EST


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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun May 07 2000 - 21:00:15 EST