}
-static int
-secretEnsureDirectory(void)
-{
- if (mkdir(driver->configDir, S_IRWXU) < 0 && errno != EEXIST) {
- virReportSystemError(errno, _("cannot create '%s'"),
- driver->configDir);
- return -1;
- }
- return 0;
-}
-
/* Driver functions */
static int
goto cleanup;
if (!def->isephemeral) {
- if (secretEnsureDirectory() < 0)
- goto cleanup;
-
if (backup && backup->isephemeral) {
if (virSecretObjSaveData(obj) < 0)
goto restore_backup;
if (virSecretSetValueEnsureACL(secret->conn, def) < 0)
goto cleanup;
- if (secretEnsureDirectory() < 0)
- goto cleanup;
-
if (virSecretObjSetValue(obj, value, value_size) < 0)
goto cleanup;
goto error;
VIR_FREE(base);
+ if (virFileMakePathWithMode(driver->configDir, S_IRWXU) < 0) {
+ virReportSystemError(errno, _("cannot create config directory '%s'"),
+ driver->configDir);
+ goto error;
+ }
+
if (!(driver->secrets = virSecretObjListNew()))
goto error;