Miloslav Trmač
46acb0f2b7
Add support for encrypted (qcow) volume creation.
...
Supports only virStorageVolCreateXML, not virStorageVolCreateXMLFrom.
Curiously, qemu-img does not need the passphrase for anything to create
an encrypted volume. This implementation thus does not need to touch
any secrets to work with cooperating clients. More generic passphrase
handling is added in the next patch.
* src/storage_backend.c: Request encryption when creating qcow/qcow2
files
* src/storage_backend_disk.c, src/storage_backend_fs.c,
src/storage_backend_logical.c: Refuse to create volumes with
encryption params set.
2009-09-01 18:27:51 +01:00
Cole Robinson
fd06fd1442
storage: Implement CreateVolFrom for logical and disk backend.
...
With the previous refactoring, this is a simple process, since the global
'CreateBlockFrom' in storage_backend does all the work.
2009-07-16 12:52:52 -04:00
Cole Robinson
a500d73ac0
storage: disk: Use capacity, not allocation, when creating volume.
...
There isn't any way to dictate allocation when creating disk volumes, so
capacity is the only relevant value.
2009-07-16 12:52:52 -04:00
Cole Robinson
12a6278135
storage: disk: Fix segfault creating volume without target path
...
Remove unneeded target path duplication, which could carelessly dereference
NULL. Make it clear where 'key' is actually filled in.
2009-07-16 12:52:51 -04:00
Daniel Veillard
fd90b67afe
allow to create storage volumes on disk backend
...
* src/libvirt_private.syms src/parthelper.c src/storage_backend_disk.c
src/storage_conf.c src/storage_conf.h: allow to create storage
volumes on disk backend, patches by Henrik Persson
* AUTHORS: add Henrik Persson
Daniel
2009-06-26 16:18:59 +00:00
Daniel P. Berrange
dab6391f2d
Sanitize symlink resolution
2009-04-01 10:26:22 +00:00
Daniel P. Berrange
437ac354fc
Make error reporting threadsafe by avoiding strerror
2009-01-20 17:13:33 +00:00
Chris Lalancette
a9567e09ef
Instead of relying solely on polling for /dev devices to appear in libvirt, we
...
really should be synchronizing against udev. This is generally done by a call
to udevsettle, which is exactly what this patch implements for the storage
backends that are likely to create new /dev nodes. I believe I've read that
even after udevsettle, you are not guaranteed that devices are all the way
created, so we still need the polling in the rest of the sources, but this
should give us a much better chance of things existing as we expect.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-11-28 07:50:20 +00:00
Daniel P. Berrange
c08a47b853
Refactor storage backends to avoid dependancy from config parser to implementation
2008-11-17 11:19:33 +00:00
Daniel Veillard
df93e1ee24
add new logging module, and move existing definitions there
...
* src/logging.c src/logging.h proxy/Makefile.am proxy/libvirt_proxy.c
src/Makefile.am src/cgroup.c src/datatypes.c src/domain_event.c
src/internal.h src/libvirt.c src/lxc_container.c src/lxc_controller.c
src/lxc_driver.c src/proxy_internal.c src/qemu_driver.c
src/remote_internal.c src/storage_backend_disk.c src/util.c
src/veth.c src/xen_internal.c src/xen_unified.c src/xend_internal.c:
add new logging module, and move existing definitions there
Daniel
2008-11-06 16:36:07 +00:00
Daniel P. Berrange
d714b2afae
Move internal error APIs into virterror_internal.h & drop leading __ prefix
2008-11-04 22:30:33 +00:00
Chris Lalancette
17a9e03cd1
Give iSCSI and disk storage backend drivers the
...
ability to resolve any kind of volume path to the pool target volume
path. For instance, if the pool was defined with a
<target><path>/dev/disk/by-id</path></target> section, and one of the
volumes is /dev/disk/by-id/scsi-S_beaf11, then you would be able to
call virStorageVolLookupByPath("/dev/sdc"), and get the correct volume
back.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-11-03 11:37:11 +00:00
Chris Lalancette
c0c0fb8eef
As suggested by danpb, to fix up the regression caused by last week's VIR_ENUM
...
cleanup patch, add a ".defaultFormat" member to .poolOptions. In
storage_conf.c, if virXPathString(/pool/source/format/@type) returns NULL, then
set the pool type to .defaultFormat; otherwise, lookup the type via
formatFromString.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-23 11:32:22 +00:00
Chris Lalancette
eeff3cdcbc
Add support for detecting the partition table type when scanning
...
iSCSI volumes. This is implemented in the
virStorageBackendUpdateVolInfoFD function, so all future callers will
automatically benefit. This is a somewhat large patch because the
conversion of the virStorageBackendPartTableTypeToString necessitated
a change to the formatToString and formatFromString function pointers,
which caused fallout in other places in the storage stuff. The good
news is that most of these callers are now converted over to the
VIR_ENUM_IMPL, which means a lot of redundant code is now gone.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
2008-10-16 15:06:03 +00:00
Jim Meyering
fd52c6ff67
avoid many format string warnings
...
Building with --disable-nls exposed many new warnings like these:
virsh.c:4952: warning: format not a string literal and no format ...
util.c:163: warning: format not a string literal and no format arguments
All but one of the following changes add a "%s" argument before
the offending _(...) argument.
This was the only manual change:
* src/lxc_driver.c (lxcVersion): Use %s and strerror(errno)
rather than %m, to avoid a warning from gcc -Wformat-security.
Add "%s" before each warned about format-string-with-no-%-directive:
* src/domain_conf.c (virDomainHostdevSubsysUsbDefParseXML)
(virDomainDefParseString, virDomainDefParseFile):
* src/hash.c (virGetConnect, __virGetDomain, virReleaseDomain)
(__virGetNetwork, virReleaseNetwork, __virGetStoragePool)
(virReleaseStoragePool, __virGetStorageVol, virReleaseStorageVol):
* src/lxc_container.c (lxcContainerChild):
* src/lxc_driver.c (lxcDomainDefine, lxcDomainUndefine)
(lxcDomainGetInfo, lxcGetOSType, lxcDomainDumpXML)
(lxcSetupInterfaces, lxcDomainStart, lxcDomainCreateAndStart)
(lxcVersion, lxcGetSchedulerParameters):
* src/network_conf.c (virNetworkDefParseString)
(virNetworkDefParseFile):
* src/openvz_conf.c (openvzReadNetworkConf, openvzLoadDomains):
* src/openvz_driver.c (openvzDomainDefineCmd)
(openvzDomainGetInfo, openvzDomainDumpXML, openvzDomainShutdown)
(openvzDomainReboot, ADD_ARG_LIT, openvzDomainDefineXML)
(openvzDomainCreateXML, openvzDomainCreate, openvzDomainUndefine)
(openvzDomainSetAutostart, openvzDomainGetAutostart)
(openvzDomainSetVcpus):
* src/qemu_driver.c (qemudDomainBlockPeek, qemudDomainMemoryPeek):
* src/remote_internal.c (remoteDomainBlockPeek)
(remoteDomainMemoryPeek, remoteAuthPolkit):
* src/sexpr.c (sexpr_new, _string2sexpr):
* src/storage_backend_disk.c (virStorageBackendDiskMakeDataVol)
(virStorageBackendDiskCreateVol):
* src/storage_backend_fs.c
(virStorageBackendFileSystemNetFindPoolSources):
* src/storage_backend_logical.c (virStorageBackendLogicalFindLVs)
(virStorageBackendLogicalFindPoolSources):
* src/test.c (testOpenDefault, testOpenFromFile, testOpen)
(testGetDomainInfo, testDomainRestore)
(testNodeGetCellsFreeMemory):
* src/util.c (virExec):
* src/virsh.c (cmdAttachDevice, cmdDetachDevice)
(cmdAttachInterface, cmdDetachInterface, cmdAttachDisk)
(cmdDetachDisk, cmdEdit):
* src/xend_internal.c (do_connect, wr_sync, xend_op_ext)
(urlencode, xenDaemonDomainCreateXML)
(xenDaemonDomainLookupByName_ids, xenDaemonDomainLookupByID)
(xenDaemonParseSxprOS, xend_parse_sexp_desc_char)
(xenDaemonParseSxprChar, xenDaemonParseSxprDisks)
(xenDaemonParseSxpr, sexpr_to_xend_topology, sexpr_to_domain)
(xenDaemonDomainFetch, xenDaemonDomainGetAutostart)
(xenDaemonDomainSetAutostart, xenDaemonDomainMigratePerform)
(xenDaemonDomainDefineXML, xenDaemonGetSchedulerType)
(xenDaemonGetSchedulerParameters)
(xenDaemonSetSchedulerParameters, xenDaemonDomainBlockPeek)
(xenDaemonFormatSxprChr, virDomainXMLDevID):
* src/xm_internal.c (xenXMConfigCacheRefresh, xenXMDomainPinVcpu)
(xenXMDomainCreate, xenXMDomainDefineXML)
(xenXMDomainAttachDevice, xenXMDomainDetachDevice):
* src/xml.c (virXPathString, virXPathNumber, virXPathLong)
(virXPathULong, virXPathBoolean, virXPathNode, virXPathNodeSet):
* src/xs_internal.c (xenStoreOpen):
2008-10-13 16:46:28 +00:00
Daniel P. Berrange
2e53a9912e
Switch storage objects to array instead of linked list
2008-10-10 15:13:28 +00:00
Cole Robinson
e2a43cdb87
Move DEBUG macros to central location.
2008-10-06 19:53:06 +00:00
Richard W.M. Jones
4f1e6e7ef2
src/storage_backend_disk.c: Missing include file.
2008-09-17 14:29:47 +00:00
Cole Robinson
bf26cd8ecb
Implement disk volume deleting.
2008-09-16 16:46:08 +00:00
Daniel Veillard
415b92101f
* docs/storage.html[.in] src/storage_backend_disk.c: revert previous
...
msdos patch and apply new one from Cole Robinson
daniel
2008-08-13 09:45:10 +00:00
Daniel Veillard
8fdb2cffa5
make sure parted doesn't ask for confirmation
...
* src/storage_backend_disk.c: make sure parted doesn't ask
confirmation, patch by Cole Robinson
Daniel
2008-08-12 11:29:49 +00:00
Daniel Veillard
ef7fec1168
rename the disk type from 'dos' to 'msdos'
...
* docs/storage.html[.in] src/storage_backend_disk.c: patch from
Cole Robinson to rename the disk type from 'dos' to 'msdos'
Daniel
2008-08-12 11:26:00 +00:00
Daniel P. Berrange
b3728d7d72
Fix const-correctness of virRUn and virExec
2008-08-08 15:43:38 +00:00
Daniel P. Berrange
d789ef5a88
Switch over remaining driver code to use memory alloc apis
2008-06-06 11:09:57 +00:00
Richard W.M. Jones
e083fc786c
Fix use of header files in disk storage backend.
...
* src/storage_backend_disk.c: Include internal.h to resolve use
of header files.
2008-05-27 08:56:56 +00:00
Jim Meyering
dc42a9d2de
remove Vim and Emacs variable settings from C source files
...
Done with these commands:
git grep -l Local.variab|xargs \
perl -0x3b -pi -e 's,\n+/\*\n \* vim:(.|\n)*,\n,'
git grep -l Local.variab|xargs \
perl -0x3b -pi -e 's,\n+/\*\n \* Local variables:\n(.|\n)*,\n,'
2008-04-10 16:53:29 +00:00
Richard W.M. Jones
b4882504ea
Fix typos (Atsushi SAKAI).
2008-02-27 10:37:19 +00:00
Daniel P. Berrange
b7db975135
Added disk partition storage pool backend
2008-02-20 15:52:17 +00:00