Revision b0fbf7d3

b/migration.c
134 134

  
135 135
void do_migrate_set_downtime(Monitor *mon, const QDict *qdict)
136 136
{
137
    char *ptr;
138 137
    double d;
139
    const char *value = qdict_get_str(qdict, "value");
140

  
141
    d = strtod(value, &ptr);
142
    if (!strcmp(ptr,"ms")) {
143
        d *= 1000000;
144
    } else if (!strcmp(ptr,"us")) {
145
        d *= 1000;
146
    } else if (!strcmp(ptr,"ns")) {
147
    } else {
148
        /* all else considered to be seconds */
149
        d *= 1000000000;
150
    }
151 138

  
139
    d = qdict_get_double(qdict, "value") * 1e9;
140
    d = MAX(0, MIN(UINT64_MAX, d));
152 141
    max_downtime = (uint64_t)d;
153 142
}
154 143

  
b/qemu-monitor.hx
775 775

  
776 776
    {
777 777
        .name       = "migrate_set_downtime",
778
        .args_type  = "value:s",
778
        .args_type  = "value:T",
779 779
        .params     = "value",
780 780
        .help       = "set maximum tolerated downtime (in seconds) for migrations",
781 781
        .mhandler.cmd = do_migrate_set_downtime,

Also available in: Unified diff