HomeFreeBSD

Use MUTEX_FSTRANS on l2arc_buflist_mtx

Description

Use MUTEX_FSTRANS on l2arc_buflist_mtx

Use MUTEX_FSTRANS on l2arc_buflist_mtx to prevent the following deadlock
scenario:

  1. arc_release() -> hash_lock -> l2arc_buflist_mtx
  2. l2arc_write_buffers() -> l2arc_buflist_mtx -> (direct reclaim) -> arc_buf_remove_ref() -> hash_lock

Signed-off-by: Chunwei Chen <tuxoko@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Signed-off-by: Tim Chase <tim@chase2k.com>
Issue #3160

Details

Provenance
Chunwei Chen <tuxoko@gmail.com>Authored on Mar 17 2015, 6:54 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Mar 18 2015, 4:29 PM
Parents
rGa1d3450e947c: Fix warning about AM_INIT_AUTOMAKE arguments
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG40749aa7a631: Use MUTEX_FSTRANS on l2arc_buflist_mtx (authored by Chunwei Chen <tuxoko@gmail.com>).Mar 18 2015, 4:29 PM