• Andrew Morton's avatar
    [PATCH] Implement queue congestion callout for device mapper · 1fe10e2f
    Andrew Morton authored
    From: Miquel van Smoorenburg <miquels@cistron.nl>
          Joe Thornber <thornber@redhat.com>
    
    This implements the queue congestion callout for DM stacks.  To make
    bdi_read/write_congested() return correct information.
    
    - md->lock protects all fields in md _except_ md->map
    - md->map_lock protects md->map
    - Anyone who wants to read md->map should use dm_get_table() which
      increments the tables reference count.
    
    This means the spin lock is now only held for the duration of a
    reference count increment.
    
    Udpate:
    
    dm.c: protect md->map with a rw spin lock rather than the md->lock
    semaphore.  Also ensure that everyone accesses md->map through
    dm_get_table(), rather than directly.
    1fe10e2f
dm-table.c 18.1 KB