Callback & LKM

wwshen@engin.umich.edu wwshen at engin.umich.edu
Fri Apr 3 06:05:13 CEST 1998


On 25 Mar 1998, Assar Westerlund wrote:

> wwshen at engin.umich.edu writes:
> > On 25 Mar 1998, Assar Westerlund wrote:
> > 
> >    Let me assume the following:
> > 
> > > 
> > > What happens is this:
> > 
> >   This is process 1 in client 1 
> >    ||
> >    \/
> > > open	- open the cached copy of the file
> > > read
> > > read
> > > 	- callback comes in and file is marked as `stale'
> > > read
> >      So process 1 still reads the stale file because there is no
> > open at here. right?
> 
> Yes, the cache manager knows it's stale but I doesn't want the user
> process to read mixed data from two different versions of the same
> file.  That would confuse it.
> 
> > > read
> >          process 2 in client 1 open this same file:
> > 
> >          open     Then what will happen? Get a new cache copy? What will
> > happen when process has another read,
> 
> As long as the first process hasn't done close the second process will
> get the same version as the first process.
> 
    
   I read the source code and find when a callback is revoked,
break_callback sets the opcodes to XFS_MSG_INVALIDNODE. Does
xfs permit the above process 2 to read the old version file???
   In addition, I think another thread should execute with the
arlad. But I can not find the function to create that thread. 
best,
wuwei







More information about the Arla-drinkers mailing list