From: Li Dongyang Date: Wed, 14 Sep 2011 06:02:40 +0000 (+0800) Subject: xen-blkfront: fix a deadlock while handling discard response X-Git-Tag: v3.2-rc1~48^2~3^2~9 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69ef68cef961a934c35308843a04b26d91cad4a8;p=pandora-kernel.git xen-blkfront: fix a deadlock while handling discard response When we get -EOPNOTSUPP response for a discard request, we will clear the discard flag on the request queue so we won't attempt to send discard requests to backend again, and this should be protected under rq->queue_lock. However, when we setup the request queue, we pass blkif_io_lock to blk_init_queue so rq->queue_lock is blkif_io_lock indeed, and this lock is already taken when we are in blkif_interrpt, so remove the spin_lock/spin_unlock when we clear the discard flag or we will end up with deadlock here Signed-off-by: Li Dongyang [v1: Updated description a bit and removed comment from source] Signed-off-by: Konrad Rzeszutek Wilk --- Reading git-diff-tree failed