Re: Persistent module storage [was Linux 2.4 Status / TODO page]

Alan Cox
2000-11-06T17:34:26Z

> 1. Before auto-unload of the driver, run a small utility which will read
> mixer settings
> and save them somewhere
> 2. When auto-loading the driver, use driver arguments which are initialized
> from the
> settings saved above
> All that's missing is the method of passing data from step 1 to step 2.

A simple more generic solution is to do this

struct things_to_keep my_bits
{
..
};

struct things_to_keep __persistent card_info[NUM_CARDS]
{
}

and have insmod do

load module up
open /var/run/moduledata/$modname
if exists && is from this boot then && is right size
read data into __persistent ELF section
endif
load into kernel
init module

and rmmod
cleanup module
open /var/run/moduledata/$modname
write data from __persistent segment into file