On 9/1/16 4:04 PM, Arne Jansen wrote:
> Hi,
> 
> we've had problems with the persistent l2arc feature pulled from the
> nexenta repo. Please see
> 
> https://www.illumos.org/issues/7341
> 
> I'm still searching for a good way to fix this. Any help is greatly
> appreciated.
> 
> My favourite plan is to prevent those blocks from entering the l2arc in the
> first place, but for this we would need a criterion l2arc_write_eligible
> could
> check.
> As far as I currently understand it the buffer got dirtied during the
> txg and
> cleaned in the first sync pass. The second sync pass dirtied the buffer
> again,
> which didn't assign a new DVA to the buffer, as it already got CoW'ed in
> this
> txg. L2arc picked that block up right after the first sync pass.
> 
> Is there a way to detect this from l2arc_write_eligible?

Interesting.

Just FYI, the pL2ARC work hasn't been upstreamed yet. My current working
copy is on github:

https://github.com/skiselkov/illumos-gate/tree/3525_l2arc_persist

I hadn't anticipated that we could be picking up blocks in the syncing
stage. Nevertheless, the simplest criterion I can see to fix this is to
require that a block's b_birth is at least one less than spa_syncing_txg.

-- 
Saso


-------------------------------------------
openzfs-developer
Archives: https://www.listbox.com/member/archive/274414/=now
RSS Feed: https://www.listbox.com/member/archive/rss/274414/28015062-cce53afa
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=28015062&id_secret=28015062-f966d51c
Powered by Listbox: http://www.listbox.com

Reply via email to