/*
* storage_backend.c: internal storage driver backend contract
*
- * Copyright (C) 2007-2014 Red Hat, Inc.
+ * Copyright (C) 2007-2016 Red Hat, Inc.
* Copyright (C) 2007-2008 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
unsigned int flags)
{
int ret = -1, fd = -1;
+ const char *alg_char = NULL;
struct stat st;
virCommandPtr cmd = NULL;
goto cleanup;
}
+ switch ((virStorageVolWipeAlgorithm) algorithm) {
+ case VIR_STORAGE_VOL_WIPE_ALG_ZERO:
+ alg_char = "zero";
+ break;
+ case VIR_STORAGE_VOL_WIPE_ALG_NNSA:
+ alg_char = "nnsa";
+ break;
+ case VIR_STORAGE_VOL_WIPE_ALG_DOD:
+ alg_char = "dod";
+ break;
+ case VIR_STORAGE_VOL_WIPE_ALG_BSI:
+ alg_char = "bsi";
+ break;
+ case VIR_STORAGE_VOL_WIPE_ALG_GUTMANN:
+ alg_char = "gutmann";
+ break;
+ case VIR_STORAGE_VOL_WIPE_ALG_SCHNEIER:
+ alg_char = "schneier";
+ break;
+ case VIR_STORAGE_VOL_WIPE_ALG_PFITZNER7:
+ alg_char = "pfitzner7";
+ break;
+ case VIR_STORAGE_VOL_WIPE_ALG_PFITZNER33:
+ alg_char = "pfitzner33";
+ break;
+ case VIR_STORAGE_VOL_WIPE_ALG_RANDOM:
+ alg_char = "random";
+ break;
+ case VIR_STORAGE_VOL_WIPE_ALG_LAST:
+ virReportError(VIR_ERR_INVALID_ARG,
+ _("unsupported algorithm %d"),
+ algorithm);
+ goto cleanup;
+ }
+
if (algorithm != VIR_STORAGE_VOL_WIPE_ALG_ZERO) {
- const char *alg_char ATTRIBUTE_UNUSED = NULL;
- switch (algorithm) {
- case VIR_STORAGE_VOL_WIPE_ALG_NNSA:
- alg_char = "nnsa";
- break;
- case VIR_STORAGE_VOL_WIPE_ALG_DOD:
- alg_char = "dod";
- break;
- case VIR_STORAGE_VOL_WIPE_ALG_BSI:
- alg_char = "bsi";
- break;
- case VIR_STORAGE_VOL_WIPE_ALG_GUTMANN:
- alg_char = "gutmann";
- break;
- case VIR_STORAGE_VOL_WIPE_ALG_SCHNEIER:
- alg_char = "schneier";
- break;
- case VIR_STORAGE_VOL_WIPE_ALG_PFITZNER7:
- alg_char = "pfitzner7";
- break;
- case VIR_STORAGE_VOL_WIPE_ALG_PFITZNER33:
- alg_char = "pfitzner33";
- break;
- case VIR_STORAGE_VOL_WIPE_ALG_RANDOM:
- alg_char = "random";
- break;
- default:
- virReportError(VIR_ERR_INVALID_ARG,
- _("unsupported algorithm %d"),
- algorithm);
- }
cmd = virCommandNew(SCRUB);
virCommandAddArgList(cmd, "-f", "-p", alg_char,
vol->target.path, NULL);