tech-kern archive

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

Re: vnode lifecycle change for ZFS



On Wed, Jun 14, 2017 at 10:40:12PM +0000, David Holland wrote:
> On Wed, Jun 14, 2017 at 10:25:11AM -0700, Chuck Silvers wrote:
>  > while working on updating ZFS to the current freebsd code I've discovered
>  > that the vnode lifecycle changes in the last couple of years prevent ZFS
>  > from working, specifically that calling vcache_get() from within VOP_FSYNC()
>  > or VOP_PUTPAGES() while the vnode is being cleaned for reuse (vi_state ==
>  > VS_RECLAIMING) results in a deadlock.  ZFS does this, and I don't see any
>  > easy way to change ZFS to not do that, so I'd like to make the following
>  > changes to the vnode lifecycle code to support ZFS:
>  > [...]
>  > 
>  > comments?
> 
> "aargh"? :-/
> 
> What is zfs doing? (and where's the offending code?)

I'm going to set this proposal aside for now...
hannken@ suggested an alternative ZFS-internal approach that appears to work,
so I'm going to go with that for now.  this ZFS-internal approach may have
some performance impact, but we can revisit that issue once the new ZFS is
in HEAD.  I'm hoping that won't take too much longer, I'm working on
cleaning up the hacks that I did to get things working initially.

-Chuck


Home | Main Index | Thread Index | Old Index