Signed-off-by: Dmitry Monakhov <dmonak...@openvz.org>
---
 misc/e4defrag2.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/misc/e4defrag2.c b/misc/e4defrag2.c
index 8714f47..dab4dbe 100644
--- a/misc/e4defrag2.c
+++ b/misc/e4defrag2.c
@@ -2409,6 +2409,7 @@ int main(int argc, char *argv[])
        char *end;
        struct file_handle *fhp = NULL;
        int cluster_size = 1 << 20;
+       int reloc_cluster_size = 0;
        int scale = 2;
        int quality = 700;
        dgrp_t nr_grp;
@@ -2419,7 +2420,7 @@ int main(int argc, char *argv[])
        gettimeofday(&time_start, 0);
        older_than = time_start.tv_sec - 864000; /*  older than 10 days */
 
-       while ((c = getopt(argc, argv, "a:c:d:fF:hlmnt:s:T:vq:")) != EOF) {
+       while ((c = getopt(argc, argv, "a:C:c:d:fF:hlmnt:s:T:vq:")) != EOF) {
                switch (c) {
                case 'a':
                        min_frag_size = strtoul(optarg, &end, 0);
@@ -2432,7 +2433,13 @@ int main(int argc, char *argv[])
                                usage();
                        }
                        break;
-
+               case 'C':
+                       reloc_cluster_size = strtoul(optarg, &end, 0);
+                       if (!reloc_cluster_size || (reloc_cluster_size & 
(reloc_cluster_size - 1))) {
+                               fprintf(stderr, "Relocation cluster size must 
be power of 2");
+                               usage();
+                       }
+                       break;
                case 'd':
                        debug_flag = strtoul(optarg, &end, 0);
                        break;
@@ -2524,6 +2531,7 @@ int main(int argc, char *argv[])
        /* Finaly init of defrag context */
        dfx.root_fhp = fhp;
        dfx.cluster_size = cluster_size >> dfx.blocksize_bits;
+       dfx.ief_reloc_cluster = reloc_cluster_size >> dfx.blocksize_bits;
        dfx.iaf_cluster_size = 16;
        if (min_frag_size  >= dfx.root_st.st_blksize)
                dfx.iaf_cluster_size = min_frag_size >> dfx.blocksize_bits;
-- 
1.8.3.1

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to