Re: 2.6.3-rc2-mm1 (dm)

From: Nathan Scott
Date: Thu Feb 12 2004 - 16:31:50 EST


On Thu, Feb 12, 2004 at 09:33:07PM +0100, Miquel van Smoorenburg wrote:
> ...
> However there's still one issue:
>
> I created a LVM volume on /dev/sda2, called /dev/vg0/test. Then
> I created and mounted an XFS partition on /dev/vg0/test. XFS uses
> a 512 byte blocksize by default, but the underlying /dev/sda2

(thats a 512 byte "sector size" in XFS-speak)

> device had a soft blocksize of 4096 (default after boot is 1024,
> but I had been mucking around with it so it got set to 4096).
>
> As a result, I couldn't get more than 35 MB/sec write speed out
> of XFS mounted on the LVM device.
>
> I added this little patch:
>
> --- drivers/md/dm-table.c.ORIG 2004-02-12 20:49:47.000000000 +0100
> +++ drivers/md/dm-table.c 2004-02-12 20:56:59.000000000 +0100
> @@ -361,7 +361,7 @@
> blkdev_put(bdev, BDEV_RAW);
> else {
> d->bdev = bdev;
> - set_blocksize(bdev, d->bdev->bd_block_size);
> + set_blocksize(bdev, 512);
> }
> return r;
> }
>
> This forces the underlying device(s) to a soft blocksize of 512. And
> I had my 80 MB/sec write speed back !
>
> I'm not sure if setting the blocksize of the underlying device
> always to 512 is the right solution. I think that set_blocksize

Hmm... that set_blocksize there must be new in -mm, I don't see
that in mainline yet. I would guess that bdev_hardsect_size()
would be more appropriate here than hard-coding 512 bytes. I
don't know the details of the problem being solving by adding
set_blocksize() in there though, so I might be completely wrong.

cheers.

--
Nathan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/