# include "internal.h"
# include "virstorageencryption.h"
+# include "virstoragefile.h"
# include "virbitmap.h"
# include "virthread.h"
# include <libxml/tree.h>
-typedef struct _virStoragePerms virStoragePerms;
-typedef virStoragePerms *virStoragePermsPtr;
-struct _virStoragePerms {
- mode_t mode;
- uid_t uid;
- gid_t gid;
- char *label;
-};
-
-typedef struct _virStorageTimestamps virStorageTimestamps;
-typedef virStorageTimestamps *virStorageTimestampsPtr;
-struct _virStorageTimestamps {
- struct timespec atime;
- /* if btime.tv_nsec == -1 then
- * birth time is unknown
- */
- struct timespec btime;
- struct timespec ctime;
- struct timespec mtime;
-};
-
-
/*
* How the volume's data is stored on underlying
* physical devices - can potentially span many
VIR_FREE(def->path);
virStorageSourcePoolDefFree(def->srcpool);
VIR_FREE(def->driverName);
+ virBitmapFree(def->features);
+ VIR_FREE(def->compat);
virStorageEncryptionFree(def->encryption);
if (def->seclabels) {
virSecurityDeviceLabelDefFree(def->seclabels[i]);
VIR_FREE(def->seclabels);
}
+ if (def->perms) {
+ VIR_FREE(def->perms->label);
+ VIR_FREE(def->perms);
+ }
+ VIR_FREE(def->timestamps);
virStorageNetHostDefFree(def->nhosts, def->hosts);
virStorageSourceAuthClear(def);
VIR_ENUM_DECL(virStorageFileFeature);
+typedef struct _virStoragePerms virStoragePerms;
+typedef virStoragePerms *virStoragePermsPtr;
+struct _virStoragePerms {
+ mode_t mode;
+ uid_t uid;
+ gid_t gid;
+ char *label;
+};
+
+
+typedef struct _virStorageTimestamps virStorageTimestamps;
+typedef virStorageTimestamps *virStorageTimestampsPtr;
+struct _virStorageTimestamps {
+ struct timespec atime;
+ struct timespec btime; /* birth time unknown if btime.tv_nsec == -1 */
+ struct timespec ctime;
+ struct timespec mtime;
+};
+
+
typedef struct _virStorageFileMetadata virStorageFileMetadata;
typedef virStorageFileMetadata *virStorageFileMetadataPtr;
struct _virStorageFileMetadata {
} secret;
} auth;
virStorageEncryptionPtr encryption;
+
char *driverName;
int format; /* enum virStorageFileFormat */
+ virBitmapPtr features;
+ char *compat;
+ virStoragePermsPtr perms;
+ virStorageTimestampsPtr timestamps;
size_t nseclabels;
virSecurityDeviceLabelDefPtr *seclabels;
};