diff --git a/fs/block_dev.c b/fs/block_dev.c index 95acbd2ebc5d..d4f23353ee4d 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -1089,7 +1089,7 @@ static bool bd_may_claim(struct block_device *bdev, struct block_device *whole, return true; /* already a holder */ else if (bdev->bd_holder != NULL) return false; /* held by someone else */ - else if (bdev->bd_contains == bdev) + else if (whole == bdev) return true; /* is a whole device which isn't held */ else if (whole->bd_holder == bd_may_claim)