• Andrew Morton's avatar
    [PATCH] Don't hold BKL across sync_blockdev() in blkdev_put() · 6e1f23ff
    Andrew Morton authored
    Running sync_blockdev() inside lock_kernel causes long scheduling
    stalls under some conditions because the lock_kernel() disables
    preemption.
    
    We don't need the BKL across sync_blockdev(), so move it down a bit.
    
    This is a minimal fix - we probably don't need BKL for much at all in
    there.
    6e1f23ff
block_dev.c 18.4 KB