Re: [PATCH] NFSv4.1/pnfs: replace broken pnfs_put_lseg_async

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

 



On Thu, Oct 9, 2014 at 12:02 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> On Wed, Oct 08, 2014 at 04:46:40PM -0400, Trond Myklebust wrote:
>> You cannot call pnfs_put_lseg_async() more than once per lseg, so it
>> is really an inappropriate way to deal with a refcount issue.
>>
>> Instead, replace it with a function that decrements the refcount, and
>> puts the final 'free' operation (which is incompatible with locks) on
>> the workqueue.
>
> How about calling the clear_request_commit layout driver operation
> from a workqueue?  That seems like a much saner approach.

That unfortunately suffers from worse problems that above. We'd have
to embed a struct work in the nfs_page (which is already a little on
the large size), and we'd still have no guarantee that
clear_request_commit would be complete if we need to call it twice
(which can happen).

-- 
Trond Myklebust

Linux NFS client maintainer, PrimaryData

trond.myklebust@xxxxxxxxxxxxxxx
--
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