int colo_mode)
{
char *drive = NULL;
+ char *common = GCSPRINTF("cache=writeback");
const char *exportname = disk->colo_export;
const char *active_disk = disk->active_disk;
const char *hidden_disk = disk->hidden_disk;
switch (colo_mode) {
case LIBXL__COLO_NONE:
drive = libxl__sprintf
- (gc, "file=%s,if=scsi,bus=0,unit=%d,format=%s,cache=writeback",
- target_path, unit, format);
+ (gc, "%s,file=%s,if=scsi,bus=0,unit=%d,format=%s",
+ common, target_path, unit, format);
break;
case LIBXL__COLO_PRIMARY:
/*
* vote-threshold=1
*/
drive = GCSPRINTF(
- "if=scsi,bus=0,unit=%d,cache=writeback,driver=quorum,"
+ "%s,if=scsi,bus=0,unit=%d,,driver=quorum,"
"id=%s,"
"children.0.file.filename=%s,"
"children.0.driver=%s,"
"read-pattern=fifo,"
"vote-threshold=1",
- unit, exportname, target_path, format);
+ common, unit, exportname, target_path, format);
break;
case LIBXL__COLO_SECONDARY:
/*
* file.backing.backing=exportname,
*/
drive = GCSPRINTF(
- "if=scsi,bus=0,unit=%d,cache=writeback,driver=replication,"
+ "%s,if=scsi,bus=0,unit=%d,driver=replication,"
"mode=secondary,"
"file.driver=qcow2,"
"file.file.filename=%s,"
"file.backing.driver=qcow2,"
"file.backing.file.filename=%s,"
"file.backing.backing=%s",
- unit, active_disk, hidden_disk, exportname);
+ common, unit, active_disk, hidden_disk, exportname);
break;
default:
abort();