* volume is a dangling symbolic link.
*/
int
-virStorageBackendVolOpenCheckMode(const char *path, struct stat *sb,
- unsigned int flags)
+virStorageBackendVolOpen(const char *path, struct stat *sb,
+ unsigned int flags)
{
int fd, mode = 0;
char *base = last_component(path);
return fd;
}
-int virStorageBackendVolOpen(const char *path)
-{
- struct stat sb;
- return virStorageBackendVolOpenCheckMode(path, &sb,
- VIR_STORAGE_VOL_OPEN_DEFAULT);
-}
-
int
virStorageBackendUpdateVolTargetInfo(virStorageVolTargetPtr target,
unsigned long long *allocation,
int ret, fd = -1;
struct stat sb;
- if ((ret = virStorageBackendVolOpenCheckMode(target->path, &sb,
- openflags)) < 0)
+ if ((ret = virStorageBackendVolOpen(target->path, &sb, openflags)) < 0)
goto cleanup;
fd = ret;
virStorageBackendPtr virStorageBackendForType(int type);
-int virStorageBackendVolOpen(const char *path)
-ATTRIBUTE_RETURN_CHECK
-ATTRIBUTE_NONNULL(1);
-
/* VolOpenCheckMode flags */
enum {
VIR_STORAGE_VOL_OPEN_ERROR = 1 << 0, /* warn if unexpected type
VIR_STORAGE_VOL_OPEN_REG |\
VIR_STORAGE_VOL_OPEN_BLOCK)
-int virStorageBackendVolOpenCheckMode(const char *path, struct stat *sb,
- unsigned int flags)
+int virStorageBackendVolOpen(const char *path, struct stat *sb,
+ unsigned int flags)
ATTRIBUTE_RETURN_CHECK
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
if (encryption)
*encryption = NULL;
- if ((ret = virStorageBackendVolOpenCheckMode(target->path, &sb,
+ if ((ret = virStorageBackendVolOpen(target->path, &sb,
VIR_STORAGE_VOL_FS_REFRESH_FLAGS)) < 0)
goto error; /* Take care to propagate ret, it is not always -1 */
fd = ret;
int fd = -1;
virCommandPtr cmd = NULL;
virErrorPtr err;
+ struct stat sb;
if (vol->target.encryption != NULL) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
virCommandFree(cmd);
cmd = NULL;
- if ((fd = virStorageBackendVolOpen(vol->target.path)) < 0)
+ if ((fd = virStorageBackendVolOpen(vol->target.path, &sb,
+ VIR_STORAGE_VOL_OPEN_DEFAULT)) < 0)
goto error;
/* We can only chown/grp if root */