Skip to content
Snippets Groups Projects
Select Git revision
  • 4ccc804586c9ad1622687a24223c6ad2955759cc
  • vme-testing default
  • ci-test
  • master
  • remoteproc
  • am625-sk-ov5640
  • pcal6534-upstreaming
  • lps22df-upstreaming
  • msc-upstreaming
  • imx8mp
  • iio/noa1305
  • vme-next
  • vme-next-4.14-rc4
  • v4.14-rc4
  • v4.14-rc3
  • v4.14-rc2
  • v4.14-rc1
  • v4.13
  • vme-next-4.13-rc7
  • v4.13-rc7
  • v4.13-rc6
  • v4.13-rc5
  • v4.13-rc4
  • v4.13-rc3
  • v4.13-rc2
  • v4.13-rc1
  • v4.12
  • v4.12-rc7
  • v4.12-rc6
  • v4.12-rc5
  • v4.12-rc4
  • v4.12-rc3
32 results

raid1.c

  • NeilBrown's avatar
    874807a8
    md/raid1{,0}: fix deadlock in bitmap_unplug. · 874807a8
    NeilBrown authored
    
    If the raid1 or raid10 unplug function gets called
    from a make_request function (which is very possible) when
    there are bios on the current->bio_list list, then it will not
    be able to successfully call bitmap_unplug() and it could
    need to submit more bios and wait for them to complete.
    But they won't complete while current->bio_list is non-empty.
    
    So detect that case and handle the unplugging off to another thread
    just like we already do when called from within the scheduler.
    
    RAID1 version of bug was introduced in 3.6, so that part of fix is
    suitable for 3.6.y.  RAID10 part won't apply.
    
    Cc: stable@vger.kernel.org
    Reported-by: default avatarTorsten Kaiser <just.for.lkml@googlemail.com>
    Reported-by: default avatarPeter Maloney <peter.maloney@brockmann-consult.de>
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    874807a8
    History
    md/raid1{,0}: fix deadlock in bitmap_unplug.
    NeilBrown authored
    
    If the raid1 or raid10 unplug function gets called
    from a make_request function (which is very possible) when
    there are bios on the current->bio_list list, then it will not
    be able to successfully call bitmap_unplug() and it could
    need to submit more bios and wait for them to complete.
    But they won't complete while current->bio_list is non-empty.
    
    So detect that case and handle the unplugging off to another thread
    just like we already do when called from within the scheduler.
    
    RAID1 version of bug was introduced in 3.6, so that part of fix is
    suitable for 3.6.y.  RAID10 part won't apply.
    
    Cc: stable@vger.kernel.org
    Reported-by: default avatarTorsten Kaiser <just.for.lkml@googlemail.com>
    Reported-by: default avatarPeter Maloney <peter.maloney@brockmann-consult.de>
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>