OpenVZ Forum


Home » Mailing lists » Devel » [PATCH v2] SUNRPC: skip dead but not buried clients on PipeFS events
Re: [PATCH v2] SUNRPC: skip dead but not buried clients on PipeFS events [message #46102 is a reply to message #46093] Thu, 26 April 2012 06:31 Go to previous message
Stanislav Kinsbursky is currently offline  Stanislav Kinsbursky
Messages: 683
Registered: October 2011
Senior Member
25.04.2012 21:30, J. Bruce Fields написал:
> On Fri, Apr 20, 2012 at 06:11:02PM +0400, Stanislav Kinsbursky wrote:
>> v2: atomic_inc_return() was replaced by atomic_inc_not_zero().
>>
>> These clients can't be safely dereferenced if their counter in 0.
> I'm pretty confused by how these notifiers work....
>
> rpc_release_client decrements cl_count to zero temporarily, to have it
> immediately re-incremented by rpc_free_auth.
>
> So if we're called concurrently with rpc_release_client then it's sort
> of random whether someone gets this callback.
>
> Is that a problem?
>
> Also, is this an existing bug? (In which case Trond should take it
> now.)

Sorry, I was mistaken in previous letter.
Yes, this is an existent bug.
I.e. without this patch notifier can dereference a client, which is
actually dead already, but haven't deleted itself from the client's list.
And then notifier will try to work with this client and even release it
at the end.
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: [PATCH 0/3] SUNRPC: three bugfixes for PipeFS event handling
Next Topic: [PATCH 00/10] NFS: callback threads containerization
Goto Forum:
  


Current Time: Mon Jul 14 00:44:00 GMT 2025

Total time taken to generate the page: 0.02022 seconds