diff options
author | Pavlina Moravcova Varekova <pmoravco@redhat.com> | 2017-04-21 11:45:42 +0200 |
---|---|---|
committer | Panu Matilainen <pmatilai@redhat.com> | 2017-04-21 13:50:50 +0300 |
commit | 29c48e14de414ca512e404a2d773c3fcb3578040 (patch) | |
tree | ecf9cb8268b2756c08dd56711022fe56ffa98ce5 /lib/rpmts_internal.h | |
parent | f7d4b2b726c4ef3c6e0e33b05e1febd8470d89b5 (diff) | |
download | rpm-29c48e14de414ca512e404a2d773c3fcb3578040.tar.gz |
Add mode for updating with minimal writing (RhBug:783480)
How does the number of writes change?
I compared number of writes with and without minimal writing
for upgrade from RHEL 7.0 to RHEL 7.1, from RHEL 7.1 to RHEL 7.2, ...
In more details, the size of memory used for writing regular files.
The following table contains in the second column percentages of files
which can be only touched from all installed files. In the third column,
there are percentages of sum of their sizes.
| Touched | Touched
| Updated files | Updated bytes
------------------------------------------------------------------------
RHEL 7.0 -> RHEL 7.1 | 63 % | 66 %
RHEL 7.1 -> RHEL 7.2 | 53 % | 43 %
RHEL 7.2 -> RHEL 7.3 | 60 % | 42 %
------------------------------------------------------------------------
F24 -> F25 | 63 % | 40 %
F25-> Fraw | 49 % | 28 %
Does the speed change?
The update speed for classical disks or SSD almost does not change.
How it works?
If there is a file in the new package, which has the equal digest
as the corresponding file in the old package and the same file on
the disk (thus the contents are expected to be equal), rpm will not
install the whole file, but rather only upgrade the file's meta data.
In other cases, it will install the whole file.
Diffstat (limited to 'lib/rpmts_internal.h')
-rw-r--r-- | lib/rpmts_internal.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/rpmts_internal.h b/lib/rpmts_internal.h index 6a30cc520..05c392b64 100644 --- a/lib/rpmts_internal.h +++ b/lib/rpmts_internal.h @@ -84,6 +84,8 @@ struct rpmts_s { int nrefs; /*!< Reference count. */ rpmtriggers trigs2run; /*!< Transaction file triggers */ + + int min_writes; /*!< macro minimize_writes used */ }; #ifdef __cplusplus |