block/swim3: Fix -EBUSY error when re-opening device after unmount
commit 296dcc40f2f2e402facf7cd26cf3f2c8f4b17d47 upstream.
When the block device is opened with FMODE_EXCL, ref_count is set to -1.
This value doesn't get reset when the device is closed which means the
device cannot be opened again. Fix this by checking for refcount <= 0
in the release method.
Reported-and-tested-by: Stan Johnson <firstname.lastname@example.org>
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Finn Thain <email@example.com>
Signed-off-by: Jens Axboe <firstname.lastname@example.org>
Signed-off-by: Ben Hutchings <email@example.com>
1 file changed