From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Matias=20Bj=C3=B8rling?= Subject: [PATCH] null_blk: fix wrong capacity when bs is not 512 bytes Date: Tue, 28 Jul 2015 14:00:24 +0200 Message-ID: <1438084824-29730-1-git-send-email-mb@lightnvm.io> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: =?UTF-8?q?Matias=20Bj=C3=B8rling?= To: axboe@fb.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org =46rom: Matias Bj=C3=B8rling set_capacity() sets device's capacity using 512 bytes sectors. null_blk calculates the number of sectors by size / bs, which set_capacity is called with. This led to null_blk exposing the wrong number of sectors when bs is not 512 bytes. Signed-off-by: Matias Bj=C3=B8rling --- drivers/block/null_blk.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/block/null_blk.c b/drivers/block/null_blk.c index 6f9b753..bf8f764 100644 --- a/drivers/block/null_blk.c +++ b/drivers/block/null_blk.c @@ -588,8 +588,7 @@ static int null_add_dev(void) blk_queue_physical_block_size(nullb->q, bs); =20 size =3D gb * 1024 * 1024 * 1024ULL; - sector_div(size, bs); - set_capacity(disk, size); + set_capacity(disk, size >> 9); =20 disk->flags |=3D GENHD_FL_EXT_DEVT | GENHD_FL_SUPPRESS_PARTITION_INFO= ; disk->major =3D null_major; --=20 2.1.4