X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=mm%2Fswapfile.c;h=312fafe0ab6ed4815ac02da3f712aca18bacbbad;hb=d4fc7cea5dda04ae1a6f36175ec1dd8ff088ed52;hp=7e6304dfafab174884bad5820a0194f449906a32;hpb=b2573eb586169dfb02772856a4e7cb760f21ec12;p=~andy%2Flinux diff --git a/mm/swapfile.c b/mm/swapfile.c index 7e6304dfafa..312fafe0ab6 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -635,7 +635,7 @@ int swap_type_of(dev_t device, sector_t offset, struct block_device **bdev_p) if (!bdev) { if (bdev_p) - *bdev_p = sis->bdev; + *bdev_p = bdget(sis->bdev->bd_dev); spin_unlock(&swap_lock); return i; @@ -647,7 +647,7 @@ int swap_type_of(dev_t device, sector_t offset, struct block_device **bdev_p) struct swap_extent, list); if (se->start_block == offset) { if (bdev_p) - *bdev_p = sis->bdev; + *bdev_p = bdget(sis->bdev->bd_dev); spin_unlock(&swap_lock); bdput(bdev);