SUMMARY: Any way to "break" NFS server code to make writes async?

From: Dwight Ernest (dwight@hyphen.com)
Date: Mon Oct 25 1993 - 16:05:24 CDT


In article <1993Oct21.140050.21536@hyphen.com> I wrote:
>Does anyone know how to use adb to "break" the NFS server code in SunOS
>4.1.3 and/or SunOS 4.1.3C to make the server write asynchronously instead
>of synchronously? There were adb scripts floating around to do this under
>previous versions of SunOS; I'm looking for the same thing for 4.1.3.
>
>Is there any way to do the same thing with something other than an adb
>hammer in SunOS 5.x?

One main reply, from Dan Stromberg <strombrg@haznet.acs.uci.edu> pointed
me to an earlier summary from which I extracted the following, which seems
to have originated from Juergen Keil <jk@tools.de>:

        #!/bin/sh
        adb -w -k /vmunix /dev/mem <<E_O_F
        rfs_write+258/W 96102000
        E_O_F

Of course, a similar (W)rite would be necessary to write to the kernel
file on disk:

        rfs_write+258?W 96102000

I tested this under SunOS 4.1.1, 4.1.2, and 4.1.3, and found that it
worked satisfactorily. The original word at that location was
96102004; if your mileage varies, this modification will break your
kernel in unpredictable ways.

This violates the stateless nature of NFS exchanges and jeopardizes
data that was cached by the server kernel in the event that the server
crashes. (But in *our* environment, server crashes are very rare,
and data is very transient. Your mileage may vary.)

As for the second part of my question, a colleague, Adam Lelean
<bean@diss.hyphen.com> answered:

>Solaris 2.3 has a new adition which should make things faster.
>see Sun's words below.

>>- Solaris 2.3 incorporates ONC+ which now includes client-side file
>> caching for faster client/server operations. The Cache File System
>> (CacheFS) works with NFS(R) to allow the use of high speed, high
>> capacity local disk drives to store frequently used data from a
>> remote file system

I was also reminded about PrestoServe from Sun and InterStream's
eNFS. PrestoServe does server-side nonvolatile caching, and
eNFS (I think) does client-side caching.

Happy adb'ing.



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:08:26 CDT