]> git.baikalelectronics.ru Git - kernel.git/commit
md: avoid spinlock problem in blk_throtl_exit
authorNeilBrown <neilb@suse.de>
Mon, 21 Feb 2011 07:25:57 +0000 (18:25 +1100)
committerNeilBrown <neilb@suse.de>
Mon, 21 Feb 2011 07:25:57 +0000 (18:25 +1100)
commit03a8ffae0ac2b02c2e9382831b899b1c4456a5e1
treed5e7ea4ef419d07d294e88b47a4aaf2676a605eb
parent0459992c00fdc6180e593677200840140016aa56
md: avoid spinlock problem in blk_throtl_exit

blk_throtl_exit assumes that ->queue_lock still exists,
so make sure that it does.
To do this, we stop redirecting ->queue_lock to conf->device_lock
and leave it pointing where it is initialised - __queue_lock.

As the blk_plug functions check the ->queue_lock is held, we now
take that spin_lock explicitly around the plug functions.  We don't
need the locking, just the warning removal.

This is needed for any kernel with the blk_throtl code, which is
which is 2.6.37 and later.

Cc: stable@kernel.org
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/linear.c
drivers/md/multipath.c
drivers/md/raid0.c
drivers/md/raid1.c
drivers/md/raid10.c
drivers/md/raid5.c