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