The default cache-clean-interval is set to 10 minutes, in order to lower
the overhead of the qcow2 caches (before the default was 0, i.e.
disabled).
Signed-off-by: Leonid Bloch <lbloch@janustech.com>
---
block/qcow2.c | 2 +-
block/qcow2.h | 1 +
docs/qcow2-cache.txt | 4 ++--
qapi/block-core.json | 3 ++-
qemu-options.hx | 2 +-
5 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/block/qcow2.c b/block/qcow2.c
index 3f75b6e701..15d849d1f0 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -941,7 +941,7 @@ static int qcow2_update_options_prepare(BlockDriverState *bs,
/* New interval for cache cleanup timer */
r->cache_clean_interval =
qemu_opt_get_number(opts, QCOW2_OPT_CACHE_CLEAN_INTERVAL,
- s->cache_clean_interval);
+ DEFAULT_CACHE_CLEAN_INTERVAL);
#ifndef CONFIG_LINUX
if (r->cache_clean_interval != 0) {
error_setg(errp, QCOW2_OPT_CACHE_CLEAN_INTERVAL
diff --git a/block/qcow2.h b/block/qcow2.h
index d77a31d932..587b053453 100644
--- a/block/qcow2.h
+++ b/block/qcow2.h
@@ -77,6 +77,7 @@
#define DEFAULT_CLUSTER_SIZE 65536
+#define DEFAULT_CACHE_CLEAN_INTERVAL 600 /* seconds */
#define QCOW2_OPT_LAZY_REFCOUNTS "lazy-refcounts"
#define QCOW2_OPT_DISCARD_REQUEST "pass-discard-request"
diff --git a/docs/qcow2-cache.txt b/docs/qcow2-cache.txt
index c7625cdeb3..9926f83ada 100644
--- a/docs/qcow2-cache.txt
+++ b/docs/qcow2-cache.txt
@@ -202,8 +202,8 @@ This example removes all unused cache entries every 15 minutes:
-drive file=hd.qcow2,cache-clean-interval=900
-If unset, the default value for this parameter is 0 and it disables
-this feature.
+If unset, the default value for this parameter is 600. Setting it to 0
+disables this feature.
Note that this functionality currently relies on the MADV_DONTNEED
argument for madvise() to actually free the memory. This is a
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 5b9084a394..7c6115096a 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2830,7 +2830,8 @@
#
# @cache-clean-interval: clean unused entries in the L2 and refcount
# caches. The interval is in seconds. The default value
-# is 0 and it disables this feature (since 2.5)
+# is 600. Setting 0 disables this feature. (since 2.5)
+#
# @encrypt: Image decryption options. Mandatory for
# encrypted images, except when doing a metadata-only
# probe of the image. (since 2.10)
diff --git a/qemu-options.hx b/qemu-options.hx
index d6e15b2f06..8cebb0c77d 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -767,7 +767,7 @@ it which is not used for the L2 cache)
@item cache-clean-interval
Clean unused entries in the L2 and refcount caches. The interval is in seconds.
-The default value is 0 and it disables this feature.
+The default value is 600. Setting it to 0 disables this feature.
@item pass-discard-request
Whether discard requests to the qcow2 device should be forwarded to the data
--
2.17.1
On Thu 09 Aug 2018 12:11:37 AM CEST, Leonid Bloch wrote: > The default cache-clean-interval is set to 10 minutes, in order to lower > the overhead of the qcow2 caches (before the default was 0, i.e. > disabled). > > Signed-off-by: Leonid Bloch <lbloch@janustech.com> > --- a/qapi/block-core.json > +++ b/qapi/block-core.json > @@ -2830,7 +2830,8 @@ > # > # @cache-clean-interval: clean unused entries in the L2 and refcount > # caches. The interval is in seconds. The default value > -# is 0 and it disables this feature (since 2.5) > +# is 600. Setting 0 disables this feature. (since 2.5) > +# It should be "Setting it to 0 ...". With that corrected, Reviewed-by: Alberto Garcia <berto@igalia.com> Berto
On 8/9/18 12:33 PM, Alberto Garcia wrote: > On Thu 09 Aug 2018 12:11:37 AM CEST, Leonid Bloch wrote: >> The default cache-clean-interval is set to 10 minutes, in order to lower >> the overhead of the qcow2 caches (before the default was 0, i.e. >> disabled). >> >> Signed-off-by: Leonid Bloch <lbloch@janustech.com> > >> --- a/qapi/block-core.json >> +++ b/qapi/block-core.json >> @@ -2830,7 +2830,8 @@ >> # >> # @cache-clean-interval: clean unused entries in the L2 and refcount >> # caches. The interval is in seconds. The default value >> -# is 0 and it disables this feature (since 2.5) >> +# is 600. Setting 0 disables this feature. (since 2.5) >> +# > > It should be "Setting it to 0 ...". How about: "... is 600 (0 disables this feature). (since 2.5)"? ... To avoid the extra line. That's why I skipped the "it to" as well. Alternatively, maybe we can skip the defaults altogether in this file, just as with all the other qcow2 options there? Leonid. > > With that corrected, > > Reviewed-by: Alberto Garcia <berto@igalia.com> > > Berto >
On Thu 09 Aug 2018 12:52:34 PM CEST, Leonid Bloch wrote: > On 8/9/18 12:33 PM, Alberto Garcia wrote: >> On Thu 09 Aug 2018 12:11:37 AM CEST, Leonid Bloch wrote: >>> The default cache-clean-interval is set to 10 minutes, in order to lower >>> the overhead of the qcow2 caches (before the default was 0, i.e. >>> disabled). >>> >>> Signed-off-by: Leonid Bloch <lbloch@janustech.com> >> >>> --- a/qapi/block-core.json >>> +++ b/qapi/block-core.json >>> @@ -2830,7 +2830,8 @@ >>> # >>> # @cache-clean-interval: clean unused entries in the L2 and refcount >>> # caches. The interval is in seconds. The default value >>> -# is 0 and it disables this feature (since 2.5) >>> +# is 600. Setting 0 disables this feature. (since 2.5) >>> +# >> >> It should be "Setting it to 0 ...". > > How about: > > "... is 600 (0 disables this feature). (since 2.5)"? Or "The default is 600, and 0 disables this feature". It's ok either way. Berto
© 2016 - 2026 Red Hat, Inc.