1. 22 10月, 2010 1 次提交
    • L
      drbd: fix potential deadlock on detach · 82f59cc6
      Lars Ellenberg 提交于
      If we have contention in drbd_al_begin_iod (heavy randon IO),
      an administrative request to detach the disk may deadlock
      for similar reasons as the recently fixed deadlock if detaching
      because of IO-error.
      
      The approach taken here is to either go through the intermediate
      cleanup state D_FAILED, or first lock out application io,
      don't just go directly to D_DISKLESS.
      
      We need an additional state bit (WAS_IO_ERROR) to distinguish
      the -> D_FAILED because of IO-error from other failures.
      
      Sanitize D_ATTACHING -> D_FAILED to D_ATTACHING -> D_DISKLESS.
      If only attaching, ldev may be missing still, but would be referenced
      from within the after_state_ch for -> D_FAILED, potentially
      dereferencing a NULL pointer.
      Signed-off-by: NPhilipp Reisner <philipp.reisner@linbit.com>
      Signed-off-by: NLars Ellenberg <lars.ellenberg@linbit.com>
      82f59cc6
  2. 15 10月, 2010 25 次提交
  3. 14 10月, 2010 8 次提交
  4. 08 8月, 2010 2 次提交
  5. 12 7月, 2010 1 次提交
  6. 01 6月, 2010 3 次提交