Re: NFSD Regression: client observing a file while other client writes to it leads to stale local cache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02.03.2021 02:06, J. Bruce Fields wrote:
On Tue, Mar 02, 2021 at 02:03:58AM +0100, Timo Rothenpieler wrote:
On 01.03.2021 19:46, J. Bruce Fields wrote:
Thanks for the bisecting this and reporting the results.

The behavior you describe is probably not a bug: NFS close-to-open
caching semantics don't guarantee you'll see updates on the reading
client in this case.

Nevertheless, I don't understand why the behavior changed with that
commit, and I'd like to.

The only change in behavior I'd expect would be that the writing client
would be granted a read delegation.  But I wouldn't expect that to
change how it writes back data, or how the reading client checks for

The writing side of things does not seem to be affected.
At any point during testing, the file on the servers filesystem is
in the state I'd expect it to be, growing by one line per second.

What's also a bit odd about this is that after both clients have
closed the file, the reading client still sees an older version of
the file, the one state it was in when it was first opened on the
client.
The file size in stat()/ls -l mismatches between the reading client
and the server.
It stays in that state for some seemingly arbitrary amount of time.
Observing the file in any way(cat/tail, or even just ls) appears to
extend the wait time.
After leaving the file alone for long enough on the reading client,
it snaps back to reality.

Hm, I wonder if we're (incorrectly) giving out a delegation to the
reading client.  Is this 100% reproduceable?

Server and reading client disagreeing about the files size and contents is 100% reproducible, even after the writing client has long and definitely closed the file.

I'm not 100% certain about the exact timing and extension of timing, since I never did any intensive testing on that. But it stays mismatched between client and server like that for at least several minutes.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux