It is interesting that `l2arc_write_buffers` is one of the places the merge was 
not smooth.  Re-porting the function from clean did not change much alas, 
adding flag `ARC_FLAG_L2_WRITING` .

The IllumOS version has an extra chunk of code that the other platforms have:
                         * To ensure that the copy will be available for the
                         * lifetime of the ZIO and be cleaned up afterwards, we
                         * add it to the l2arc_free_on_write queue.
                        if (!HDR_SHARED_DATA(hdr) && psize == asize) {
                                to_write = hdr->b_l1hdr.b_pabd;
                        } else {
                                to_write = abd_alloc_for_io(asize,
                                abd_copy(to_write, hdr->b_l1hdr.b_pabd, psize);
                                if (asize != psize) {
                                        abd_zero_off(to_write, psize,
                                            asize - psize);
                                l2arc_free_abd_on_write(to_write, asize,
                        wzio = zio_write_phys(pio, dev->l2ad_vdev,

Which perhaps needs extra thinking around it for crypto.  

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
Powered by Topicbox:

Reply via email to