[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1105031036090.4250@dhcp-27-109.brq.redhat.com>
Date: Tue, 3 May 2011 10:57:19 +0200 (CEST)
From: Lukas Czerner <lczerner@...hat.com>
To: "Martin K. Petersen" <martin.petersen@...cle.com>
cc: Lukas Czerner <lczerner@...hat.com>,
Christoph Hellwig <hch@...radead.org>,
device-mapper development <dm-devel@...hat.com>,
Alasdair G Kergon <agk@...hat.com>, sandeen@...hat.com,
Mike Snitzer <snitzer@...hat.com>, DarkNovaNick@...il.com,
linux-lvm@...hat.com, linux-ext4@...r.kernel.org
Subject: Re: [dm-devel] do not disable ext4 discards on first discard failure?
[was: Re: dm snapshot: ignore discards issued to the snapshot-origin
target]
On Mon, 2 May 2011, Martin K. Petersen wrote:
> >>>>> "Lukas" == Lukas Czerner <lczerner@...hat.com> writes:
>
> Lukas,
>
> Lukas> [root@...m ~]# lvcreate -L 3500M vg_test
> Lukas> Logical volume "lvol0" created
>
> Ok, so here's what I think is going on. You're creating a linear target
> which happens to fit inside the first PV.
>
> Here's two devices. One that supports discard_zeroes_data=1 (8:17) and
> one that doesn't (8:49).
>
> # dmsetup table
> foo-bar: 0 1032192 striped 2 32 8:17 384 8:49 384
> foo-baz: 0 106496 linear 8:17 516480
>
> # grep . /sys/block/d*/queue/discard_z*
> /sys/block/dm-0/queue/discard_zeroes_data:0
> /sys/block/dm-1/queue/discard_zeroes_data:1
>
> LV foo/bar (dm-0) is striped, straddling two devices with incompatible
> values. Hence 0.
>
> LV foo/baz (dm-1) is linear and fits inside the first PV. Thus it has
> discard_zeroes_data=1.
Well that's why I have included /proc/partition, so you can see that
this is not happening, because both partitions are 1.86GB long and the LV I
am creating from those is 3.42GB long.
[root@...m ~]# dmsetup table
vg_test-lvol0: 0 3899392 linear 8:49 2048
vg_test-lvol0: 3899392 3268608 linear 8:19 2048
Nevertheless there is something weird going on, because even when I
create striped volume I get this:
[root@...m ~]# dmsetup table
vg_test-lvol0: 0 7176192 striped 2 16 8:49 2048 8:19 2048
[root@...m ~]# ls -lah /dev/mapper/vg_test-lvol0
lrwxrwxrwx. 1 root root 7 3. kvě 04.42 /dev/mapper/vg_test-lvol0 ->
../dm-0
[root@...m ~]# grep . /sys/block/dm-0/queue/discard_*
/sys/block/dm-0/queue/discard_granularity:512
/sys/block/dm-0/queue/discard_max_bytes:4294966784
/sys/block/dm-0/queue/discard_zeroes_data:1
And of course (8:49) is a partition on the SSD which does zero data and
(8:19) is a partition on the spinning device which does not zero data,
nor does it support discard. And this is on yesterdays kernel.
[root@...m ~]# uname -r
2.6.39-rc5+
So assuming that you're trying recent kernel as well, someone is doing
something different :)
Thanks!
-Lukas
Powered by blists - more mailing lists