]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
util: virstoragefile: Don't mangle data stored about directories
authorPeter Krempa <pkrempa@redhat.com>
Fri, 18 Apr 2014 08:07:41 +0000 (10:07 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 23 Apr 2014 21:11:08 +0000 (23:11 +0200)
Don't remove detected metadata about directory based storage volumes.

src/util/virstoragefile.c
tests/virstoragetest.c

index eb892680b151b519efc6010911d7dfbadd76acb3..a716b5d743d4fbdf0d0b4bde609b7b2e0c40deee 100644 (file)
@@ -1043,11 +1043,8 @@ virStorageFileGetMetadataFromFDInternal(virStorageSourcePtr meta,
     }
 
     if (S_ISDIR(sb.st_mode)) {
-        /* No header to probe for directories, but also no backing
-         * file; therefore, no inclusion loop is possible, and we
-         * don't need canonName or relDir.  */
-        VIR_FREE(meta->relDir);
-        VIR_FREE(meta->path);
+        /* No header to probe for directories, but also no backing file. Just
+         * update the metadata.*/
         meta->type = VIR_STORAGE_TYPE_DIR;
         meta->format = VIR_STORAGE_FILE_DIR;
         ret = 0;
index 19f3f58990c66cd20a14e747122d558c9ed67ccd..370b8c21cf4b1d8785894812a689f22753a04a99 100644 (file)
@@ -709,6 +709,9 @@ mymain(void)
     testFileData dir = {
         .pathRel = "dir",
         .pathAbs = absdir,
+        .path = canondir,
+        .relDirRel = ".",
+        .relDirAbs = datadir,
         .type = VIR_STORAGE_TYPE_DIR,
         .format = VIR_STORAGE_FILE_DIR,
     };