On 06/02/2010 01:09 PM, David Allan wrote: > * This patch adds the ability to make the filesystem for a filesystem > pool during a pool build. > > --- > include/libvirt/libvirt.h.in | 6 +- > include/libvirt/virterror.h | 2 + > src/Makefile.am | 4 + > src/libvirt_private.syms | 4 + > src/storage/storage_backend_fs.c | 180 +++++++++++++++++++++++++++++++++++++- > src/storage/storage_backend_fs.h | 9 ++- > src/util/virterror.c | 12 +++ > tools/virsh.c | 14 +++- > 8 files changed, 224 insertions(+), 7 deletions(-) Still no change to tools/virsh.pod? We really need to get in the habit of documenting our changes, so that someone doing 'man virsh' knows that they exist. And it wouldn't hurt if a separate patch changed docs/api_extension/0008-* to better set that example. > > diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in > index 19d5205..075beee 100644 > --- a/include/libvirt/libvirt.h.in > +++ b/include/libvirt/libvirt.h.in > @@ -1126,8 +1126,10 @@ typedef enum { > > typedef enum { > VIR_STORAGE_POOL_BUILD_NEW = 0, /* Regular build from scratch */ > - VIR_STORAGE_POOL_BUILD_REPAIR = 1, /* Repair / reinitialize */ > - VIR_STORAGE_POOL_BUILD_RESIZE = 2 /* Extend existing pool */ > + VIR_STORAGE_POOL_BUILD_REPAIR = (1 << 0), /* Repair / reinitialize */ > + VIR_STORAGE_POOL_BUILD_RESIZE = (1 << 1), /* Extend existing pool */ > + VIR_STORAGE_POOL_BUILD_NO_OVERWRITE = (1 << 2), /* Do not overwrite existing pool */ > + VIR_STORAGE_POOL_BUILD_OVERWRITE = (1 << 3) /* Overwrite data */ We already assume C99 semantics of allowing a trailing comma; using it here will make the next change to this enum touch one less line. > +++ b/include/libvirt/virterror.h > @@ -163,6 +163,8 @@ typedef enum { > VIR_WAR_NO_STORAGE, /* failed to start storage */ > VIR_ERR_NO_STORAGE_POOL, /* storage pool not found */ > VIR_ERR_NO_STORAGE_VOL, /* storage pool not found */ > + VIR_ERR_STORAGE_PROBE_FAILED, /* storage pool probe failed */ > + VIR_ERR_STORAGE_PROBE_BUILT, /* storage pool already built */ Typo in the name? I would have though VIR_ERR_STORAGE_POOL_BUILT. > --- a/src/libvirt_private.syms > +++ b/src/libvirt_private.syms > @@ -624,6 +624,10 @@ virStorageFileGetMetadata; > virStorageFileGetMetadataFromFD; > virStorageFileIsSharedFS; > > +# storage_backend_fs.h > +virStorageBackendFileSystemProbeLibblkid; > +virStorageBackendFileSystemProbeDummy; You no longer need to export virStorageBackendFileSystemProbeDummy > +#else /* #if HAVE_LIBBLKID */ > + > +static virStoragePoolProbeResult > +virStorageBackendFileSystemProbe(const char *device ATTRIBUTE_UNUSED, > + const char *format ATTRIBUTE_UNUSED) Wonky spacing. > +++ b/src/util/virterror.c > @@ -1019,6 +1019,18 @@ virErrorMsg(virErrorNumber error, const char *info) > else > errmsg = _("Storage volume not found: %s"); > break; > + case VIR_ERR_STORAGE_PROBE_FAILED: > + if (info == NULL) > + errmsg = _("Storage pool probe failed"); > + else > + errmsg = _("Storage pool probe failed: %s"); > + break; Wonky spacing, but it is forgivable since it is copy-n-paste from the previous line's wonky-ness (the whole file could use some TLC, so don't sweat it for this patch). Note to self: another merge conflict if this goes in before my pending virterror cleanups. -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 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