[OpenAFS] cm fails to invalidate cache for deleted files in
volume root w/ fakestat
Stephan Wiesand
Stephan.Wiesand@desy.de
Tue, 20 May 2008 17:54:37 +0200 (CEST)
On Mon, 14 Apr 2008, Rainer Toebbicke wrote:
> We ran into this over a year ago and fixed it, but I must have forgotten to
> submit the fix.
>
> It is actually the detection of a "cell" in the mount point string which
> triggers the (loosely consistent) fakestat handling - it's treated like a
> foreign cell and the mount point is never "completely evaluated", i.e.
> logically replaced by the root directory of the volume in question. As a
> result, callbacks are ignored, as they go against the directory and not the
> mount point.
>
> The attached patch takes care of that.
Thanks a lot for the patch, and to Derrick for pulling it into 1.4.7.
This will allow us to enable fakestat again on certain clients.
- Stephan
> (Bcc'ed openafs-bugs)
>
>
> Stephan Wiesand schrieb:
>> If a client runs with the -fakestat[-all] option, and has a file cached
>> that resides in the root directory of a volume affected by fakestat, it
>> fails to invalidate its cache for this file when it's deleted:
>>
>> ClientA: touch x
>> ClientB: ls -l x
>> ... 0 Apr 10 13:10 x
>>
>> ClientA: echo a >> x
>> ClientB: ls -l x; cat x
>> ... 2 Apr 10 13:11 x
>> a
>>
>> ClientA: rm x
>> ClientB: ls -l x; cat x
>> ... 2 Apr 10 13:11 x (!)
>> a (!)
>>
>> ClientA: echo b > x
>> ClientB: ls -l x; cat x
>> ... 2 Apr 10 13:11 x (!)
>> a (!)
>>
>> ClientB: fs flushv; ls -l x; cat x
>> ... 2 Apr 10 13:12 x
>> b
>>
>>
>> I guess it's the same issue reported by Jack Neely on March 17th. We're not
>> running with -fakestat-all, just -fakestat. The problem struck when mount
>> points for local volumes were accidentally created with the -cell option.
>> We can reproduce the problem with local and foreign volumes. Turning off
>> fakestat eliminates it reliably.
>>
>> We observe this with various Linux clients. OpenAFS 1.4.6 or 1.4.7pre3,
>> SL3/4/5, 32/64-bit.
>>
>> An SL3 client still running 1.2.13 does not exhibit this problem.
>>
>> Bcc to openafs-bugs.
>>
>
>
>
--
Stephan Wiesand
DESY - DV -
Platanenallee 6
15738 Zeuthen, Germany