Created attachment 610088 [details]
Patch to replace blkdev_put with close_bdev_exclusive
Description of problem: Second mapping of block device to iblock backend fails with EBUSY because device is still claimed after being unmapped.
The initial mapping uses open_bdev_exclusive, but the unmap call uses blkdev_put instead of the correct call which is close_bdev_exclusive.
Version-Release number of selected component (if applicable): 2.6.32-279.5.2
How reproducible: Always
Steps to Reproduce:
1. Create an iblock virtual device on a block device
2. Delete the iblock virtual device
3. Create the iblock virtual device again.
Fails with Device or resource busy
This bug is not present in the upstream kernel. It was introduced when the target code was backported which is why I'm reporting it here.
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.
*** Bug 896409 has been marked as a duplicate of this bug. ***
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release. Product
Management has requested further review of this request by
Red Hat Engineering, for potential inclusion in a Red Hat
Enterprise Linux release for currently deployed products.
This request is not yet committed for inclusion in a release.
Reproduced error on kernel-2.6.32-387.el6.x86_64
Fixed on kernel-2.6.32-407.el6.x86_64
Verified by Intel:
Reproduced error on kernel-2.6.32-358.18.1.el6.x86_64
Verified fixed in kernel-2.6.32-421.el6.x86_64
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.