1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

thin: activate layer pool aas read-only LV

When lvm2 is activating layered pool LV (to basically keep pool opened,
the other function used to be 'locking' be in sync with DM table)
use this LV in read-only mode - this prevents 'write' access into
data volume content of thin-pool.

Note: since EMPTY/unused thin-pool is created as 'public LV' for generic
use by any user who i.e. wish to maintain thin-pool and thins himself.
At this moment, thin-pool appears as writable LV.  As soon as the 1st.
thinLV is created, layer volume will appear is 'read-only' LV from this moment.
This commit is contained in:
Zdenek Kabelac 2019-09-14 01:08:14 +02:00
parent 693215716b
commit 66f69e766e
2 changed files with 6 additions and 0 deletions

View File

@ -1,5 +1,6 @@
Version 2.03.06 - Version 2.03.06 -
================================ ================================
Activate thin-pool layered volume as 'read-only' device.
Ignore crypto devices with UUID signature CRYPT-SUBDEV. Ignore crypto devices with UUID signature CRYPT-SUBDEV.
Enhance validation for thin and cache pool conversion and swapping. Enhance validation for thin and cache pool conversion and swapping.
Improve internal removal of cached devices. Improve internal removal of cached devices.

View File

@ -85,6 +85,11 @@ int read_only_lv(const struct logical_volume *lv, const struct lv_activate_opts
if (lv_is_raid_image(lv) || lv_is_raid_metadata(lv)) if (lv_is_raid_image(lv) || lv_is_raid_metadata(lv))
return 0; /* Keep RAID SubLvs writable */ return 0; /* Keep RAID SubLvs writable */
if (!layer) {
if (lv_is_thin_pool(lv))
return 1;
}
return (laopts->read_only || !(lv->status & LVM_WRITE)); return (laopts->read_only || !(lv->status & LVM_WRITE));
} }