Re: [PATCH v5 00/25] Fix delegation behaviour when server revokes some state

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

 



> On Sep 17, 2016, at 14:04, Oleg Drokin <green@xxxxxxxxxxxxxx> wrote:
> 
> 
> On Sep 17, 2016, at 1:13 AM, Trond Myklebust wrote:
> 
>> According to RFC5661, if any of the SEQUENCE status bits
>> SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED,
>> SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED, SEQ4_STATUS_ADMIN_STATE_REVOKED,
>> or SEQ4_STATUS_RECALLABLE_STATE_REVOKED are set, then we need to use
>> TEST_STATEID to figure out which stateids have been revoked, so we
>> can acknowledge the loss of state using FREE_STATEID.
>> 
>> While we already do this for open and lock state, we have not been doing
>> so for all the delegations.
>> 
>> v2: nfs_v4_2_minor_ops needs to set .test_and_free_expired too
>> v3: Now with added lock revoke fixes and close/delegreturn/locku fixes
>> v4: Close a bunch of corner cases
>> v5: Report revoked delegations as invalid in nfs_have_delegation()
>>   Fix an infinite loop in nfs_reap_expired_delegations.
>>   Fixes for other looping behaviour
> 
> This time around the loop seems to be more tight,
> in userspace process:
> 
> [ 9197.256571] --> nfs41_call_sync_prepare data->seq_server ffff8800a73ce000
> [ 9197.256572] --> nfs41_setup_sequence
> [ 9197.256573] --> nfs4_alloc_slot used_slots=0000 highest_used=4294967295 max_slots=31
> [ 9197.256574] <-- nfs4_alloc_slot used_slots=0001 highest_used=0 slotid=0
> [ 9197.256574] <-- nfs41_setup_sequence slotid=0 seqid=14013800
> [ 9197.256582] encode_sequence: sessionid=1474126170:1:2:0 seqid=14013800 slotid=0 max_slotid=0 cache_this=1
> [ 9197.256755] --> nfs4_alloc_slot used_slots=0001 highest_used=0 max_slots=31
> [ 9197.256756] <-- nfs4_alloc_slot used_slots=0003 highest_used=1 slotid=1
> [ 9197.256757] nfs4_free_slot: slotid 1 highest_used_slotid 0
> [ 9197.256758] nfs41_sequence_process: Error 0 free the slot 
> [ 9197.256760] nfs4_free_slot: slotid 0 highest_used_slotid 4294967295
> [ 9197.256779] --> nfs_put_client({2})

What operation is the userspace process hanging on? Do you have a stack trace for it?

--
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




[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