NFSv4.0 Linux client fails to return delegation

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

 



Hi Trond,

I'm testing the NFS server with write delegation support and the Linux client
using NFSv4.0 and run into a situation that needs your advise.

In this scenario, the NFS server grants the write delegation to the client.
Later when the client returns delegation it sends the compound PUTFH, GETATTR
and DELERETURN.

When the NFS server services the GETATTR, it detects that there is a write
delegation on this file but it can not detect that this GETATTR request was
sent from the same client that owns the write delegation (due to the nature
of NFSv4.0 compound). As the result, the server sends CB_RECALL to recall
the delegation and replies NFS4ERR_DELAY to the GETATTR request.

When the client receives the NFS4ERR_DELAY it retries with the same compound
PUTFH, GETATTR, DELERETURN and server again replies the NFS4ERR_DELAY. This
process repeats until the recall times out and the delegation is revoked by
the server.

I noticed that the current order of GETATTR and DELEGRETURN was done by
commit e144cbcc251f. Then later on, commit 8ac2b42238f5 was added to drop
the GETATTR if the request was rejected with EACCES.

Do you have any advise on where, on server or client, this issue should
be addressed?

Thanks,
-Dai




[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