Discussion:
[linux-lvm] Howto change cachepolicy on cached thinpool devices?
Oliver Rath
2017-05-15 13:25:11 UTC
Permalink
Hi list,

caching the _tdata part of a thinpool works fine now. Unfortunatly with
lvchange it is not possible to change the policy (vg:dmivg,
cachepool:dmipool,thinpool:winthinpool):

# lvchange --cachepolicy cleaner dmivg/dmicache
Operation not permitted on hidden LV dmivg/dmicache.

# lvchange --cachepolicy cleaner /dev/mapper/dmivg-winthinpool_tdata
Operation not permitted on hidden LV dmivg/winthinpool_tdata.

# lvchange --cachepolicy cleaner dmivg/winthinpool
Command on LV dmivg/winthinpool does not accept LV type thinpool.
Required LV types are cache cachepool .
Command not permitted on LV dmivg/winthinpool.

The only possibility at the moment seems to change it via lowlewel
dmsetup command.

# dmsetup status dmivg-winthinpool_tdata
0 7730954240 cache 8 1458/9216 128 720896/720896 4608761 7143953 1177059
5866353 40700 761596 2993 2 metadata2 writeback 2 migration_threshold
2048 smq 0 rw -

...

How can this be done with lv*?

Tfh!
Oliver
Zdenek Kabelac
2017-05-15 13:38:19 UTC
Permalink
Post by Oliver Rath
Hi list,
caching the _tdata part of a thinpool works fine now. Unfortunatly with
lvchange it is not possible to change the policy (vg:dmivg,
# lvchange --cachepolicy cleaner dmivg/dmicache
Operation not permitted on hidden LV dmivg/dmicache.
# lvchange --cachepolicy cleaner /dev/mapper/dmivg-winthinpool_tdata
Operation not permitted on hidden LV dmivg/winthinpool_tdata.
# lvchange --cachepolicy cleaner dmivg/winthinpool
Command on LV dmivg/winthinpool does not accept LV type thinpool.
Required LV types are cache cachepool .
Command not permitted on LV dmivg/winthinpool.
The only possibility at the moment seems to change it via lowlewel
dmsetup command.
# dmsetup status dmivg-winthinpool_tdata
0 7730954240 cache 8 1458/9216 128 720896/720896 4608761 7143953 1177059
5866353 40700 761596 2993 2 metadata2 writeback 2 migration_threshold
2048 smq 0 rw -
...
How can this be done with lv*?
Hi

By opening BZ at http://bugzilla.redhat.com/ for lvm2 ;)
Seem this has got lost in various code changes.

Should be easy to add this to supported variant.

Regards

Zdenek
David Teigland
2017-05-15 16:02:05 UTC
Permalink
Post by Oliver Rath
Hi list,
caching the _tdata part of a thinpool works fine now. Unfortunatly with
lvchange it is not possible to change the policy (vg:dmivg,
# lvchange --cachepolicy cleaner /dev/mapper/dmivg-winthinpool_tdata
Operation not permitted on hidden LV dmivg/winthinpool_tdata.
Thanks, this is fixed here
https://sourceware.org/git/?p=lvm2.git;a=commit;h=5406191cb9112dea6d8a618ae1da815f816291f6
Oliver Rath
2017-05-15 20:10:26 UTC
Permalink
Hi David!

On 15.05.2017 18:02, David Teigland wrote:
[..]
Post by David Teigland
Thanks, this is fixed here
https://sourceware.org/git/?p=lvm2.git;a=commit;h=5406191cb9112dea6d8a618ae1da815f816291f6
Thanks for fixing this! Ive tried to change now to cleaner policy, which
works fine now:

# lvchange --cachepolicy cleaner /dev/mapper/dmivg-winthinpool_tdata
Logical volume dmivg/winthinpool_tdata changed.

Also going back to smq works:

# lvchange --cachepolicy smq /dev/mapper/dmivg-winthinpool_tdata
Logical volume dmivg/winthinpool_tdata changed.

Thank you very much for the quick fix!

Regards,
Oliver

Loading...