On Tue, Nov 1, 2011 at 12:45 AM, Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> wrote: > On Tue, 2011-11-01 at 00:38 +0800, Peng Tao wrote: >> On Mon, Oct 31, 2011 at 11:49 PM, Trond Myklebust >> <Trond.Myklebust@xxxxxxxxxx> wrote: >> > On Mon, 2011-10-31 at 08:15 -0700, Peng Tao wrote: >> >> For blocklayout, we need to issue layoutreturn to return layouts when >> >> handling CB_RECALL_ANY. >> > >> > Why? >> Because replying NFS4_OK to CB_RECALL_ANY indicates that client knows >> that server wants client to return layout. And server will be waiting >> for layoutreturn in such case. > > No it doesn't. NFS4_OK means that the client acknowledges that it has > been given a new limit on the number of recallable objects it can keep. > There is no requirement in the text that it should send layoutreturn or > that the server should expect that. Per RFC5661 section 20.6.3: It is the job of the client to bring down the size of the recallable object set in line with each CB_RECALL_ANY received For layout objects, the only way client can bring down the object number is to send layoutreturn. Besides, the moment client gets CB_RECALL_ANY is likely because server reaches some resource threshold. If client doesn't send layoutreturn, server can refusing client from getting more layouts. > > In any case, there is no reason to make a difference between block, > object and file layouts when it comes to CB_RECALL_ANY. The code to > handle it should be the same for all. > object layout isn't handling CB_RECALL_ANY yet. And from current code, I was assuming file layouts have their own method at server side to handle it (e.g., translating NFS4_OK of CB_RECALL_ANY into client has dropped all its layout...).So I made it for block only. Thanks, Tao > -- > Trond Myklebust > Linux NFS client maintainer > > NetApp > Trond.Myklebust@xxxxxxxxxx > www.netapp.com > > -- Thanks, -Bergwolf -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html