Re: [PATCHv4 3/8] storage: implement rudimentary glusterfs pool refresh

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/25/2013 08:52 AM, Daniel P. Berrange wrote:
> On Fri, Nov 22, 2013 at 08:20:25PM -0700, Eric Blake wrote:
>> Actually put gfapi to use, by allowing the creation of a gluster
>> pool.  Right now, all volumes are treated as raw and directories
>> are skipped; further patches will allow peering into files to
>> allow for qcow2 files and backing chains, and reporting proper
>> volume allocation.  This implementation was tested against Fedora
>> 19's glusterfs 3.4.1; it might be made simpler by requiring a
>> higher minimum, and/or require more hacks to work with a lower
>> minimum.
>>
>> * src/storage/storage_backend_gluster.c
>> (virStorageBackendGlusterRefreshPool): Initial implementation.
>> (virStorageBackendGlusterOpen, virStorageBackendGlusterClose)
>> (virStorageBackendGlusterRefreshVol): New helper functions.
>>
>> Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
> 
> 
> ACK

Squashed this in and pushed (in reviewing 2/8, I noticed that I had
documented that <key> should NOT start with a slash, but just the volume
name).

diff --git i/src/storage/storage_backend_gluster.c
w/src/storage/storage_backend_gluster.c
index 120cf0f..d57427e 100644
--- i/src/storage/storage_backend_gluster.c
+++ w/src/storage/storage_backend_gluster.c
@@ -41,8 +41,8 @@ struct _virStorageBackendGlusterState {
      *
gluster[+transport]://[server[:port]]/vol/[dir/]image[?socket=...] */
     virURI *uri;

-    char *volname; /* vol from URI */
-    char *dir; /* dir from URI, or "/"; always ends in '/' */
+    char *volname; /* vol from URI, no '/' */
+    char *dir; /* dir from URI, or "/"; always starts and ends in '/' */
 };

 typedef struct _virStorageBackendGlusterState
virStorageBackendGlusterState;
@@ -86,7 +86,7 @@ virStorageBackendGlusterOpen(virStoragePoolObjPtr pool)
     if (dir) {
         if (*dir != '/') {
             virReportError(VIR_ERR_XML_ERROR,
-                       _("gluster pool path '%s' must start with /"),
+                           _("gluster pool path '%s' must start with /"),
                            dir);
             return NULL;
         }
@@ -173,7 +173,7 @@
virStorageBackendGlusterRefreshVol(virStorageBackendGlusterStatePtr state,
         goto cleanup;
     if (VIR_STRDUP(vol->name, name) < 0)
         goto cleanup;
-    if (virAsprintf(&vol->key, "/%s%s%s", state->volname, state->dir,
+    if (virAsprintf(&vol->key, "%s%s%s", state->volname, state->dir,
                     vol->name) < 0)
         goto cleanup;


-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]