[libvirt PATCH 0/4] storage: support controlling COW attribute for pool

Michal Privoznik mprivozn at redhat.com
Thu Jul 23 14:27:26 UTC 2020


On 7/20/20 7:33 PM, Daniel P. Berrangé wrote:
> We already support a "nocow" flag for storage volumes, but this requires
> extra work by the mgmt app or user when creating images on btrfs. We
> want to "do the right thing" out of the box for btrfs.
> 
> We achieve this by changint the storage pool code so that when creating
> a storage pool we always try to disable COW on btrfs filesystems. We
> then add an <cow state="yes|no"/> feature in the pool XML to let apps
> override the default logic.
> 
> The COW setting on the pool is inherited by any volumes.
> 
> The main thing not solved here is that the default directory at
> /var/lib/libvirt/images is created by the RPM itself, not by a
> normal "pool-build" command.
> 
> Fortunately it appears that virt-install  will explicitly invoke a
> storage pool build even if the directory already exists.
> 
> Daniel P. Berrangé (4):
>    util: add a helper method for controlling the COW flag on btrfs
>    storage: convert to use virFileSetCOW
>    storage: attempt to disable COW by default
>    conf: add control over COW for storage pool directories
> 
>   docs/formatstorage.html.in                   | 25 +++++++
>   docs/schemas/storagepool.rng                 | 30 ++++++++
>   src/conf/storage_conf.c                      | 49 +++++++++++++
>   src/conf/storage_conf.h                      |  8 +++
>   src/libvirt_private.syms                     |  1 +
>   src/storage/storage_util.c                   | 46 +++++-------
>   src/util/virfile.c                           | 76 ++++++++++++++++++++
>   src/util/virfile.h                           |  3 +
>   tests/storagepoolxml2xmlin/pool-dir-cow.xml  | 10 +++
>   tests/storagepoolxml2xmlout/pool-dir-cow.xml | 15 ++++
>   tests/storagepoolxml2xmltest.c               |  1 +
>   11 files changed, 237 insertions(+), 27 deletions(-)
>   create mode 100644 tests/storagepoolxml2xmlin/pool-dir-cow.xml
>   create mode 100644 tests/storagepoolxml2xmlout/pool-dir-cow.xml
> 

Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

Michal




More information about the libvir-list mailing list