Re: [libvirt] [Patch v2] Create file in virFileWriteStr() if it doesn't exist

2010-12-03 Thread Eric Blake
On 12/03/2010 02:58 AM, Jean-Baptiste Rouault wrote:
> Forget that patch, I didn't receive it by email yet and I saw
> Eric patch on the list archive after sending it...

Seeing as how your patch is practically identical to mine, I'm taking
that as an ACK, and pushing in your name.

-- 
Eric Blake   ebl...@redhat.com+1-801-349-2682
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [Patch v2] Create file in virFileWriteStr() if it doesn't exist

2010-12-03 Thread Jean-Baptiste Rouault
Forget that patch, I didn't receive it by email yet and I saw
Eric patch on the list archive after sending it...

Regards,

-- 
Jean-Baptiste ROUAULT
Ingénieur R&D - Diateam : Architectes de l'information
Phone : +33 (0)9 53 16 02 70 Fax : +33 (0)2 98 050 051

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


[libvirt] [Patch v2] Create file in virFileWriteStr() if it doesn't exist

2010-12-03 Thread Jean-Baptiste Rouault
This patch adds a mode_t parameter to virFileWriteStr().
If mode is different from 0, virFileWriteStr() will try
to create the file if it doesn't exist.
---
 src/network/bridge_driver.c  |8 
 src/node_device/node_device_driver.c |2 +-
 src/util/cgroup.c|2 +-
 src/util/pci.c   |   16 
 src/util/util.c  |   11 ---
 src/util/util.h  |2 +-
 6 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index 54890f9..62639e4 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -1024,7 +1024,7 @@ networkReloadIptablesRules(struct network_driver *driver)
 static int
 networkEnableIpForwarding(void)
 {
-return virFileWriteStr("/proc/sys/net/ipv4/ip_forward", "1\n");
+return virFileWriteStr("/proc/sys/net/ipv4/ip_forward", "1\n", 0);
 }
 
 #define SYSCTL_PATH "/proc/sys"
@@ -1045,7 +1045,7 @@ static int networkDisableIPV6(virNetworkObjPtr network)
 goto cleanup;
 }
 
-if (virFileWriteStr(field, "1") < 0) {
+if (virFileWriteStr(field, "1", 0) < 0) {
 virReportSystemError(errno,
  _("cannot enable %s"), field);
 goto cleanup;
@@ -1057,7 +1057,7 @@ static int networkDisableIPV6(virNetworkObjPtr network)
 goto cleanup;
 }
 
-if (virFileWriteStr(field, "0") < 0) {
+if (virFileWriteStr(field, "0", 0) < 0) {
 virReportSystemError(errno,
  _("cannot disable %s"), field);
 goto cleanup;
@@ -1069,7 +1069,7 @@ static int networkDisableIPV6(virNetworkObjPtr network)
 goto cleanup;
 }
 
-if (virFileWriteStr(field, "1") < 0) {
+if (virFileWriteStr(field, "1", 0) < 0) {
 virReportSystemError(errno,
  _("cannot enable %s"), field);
 goto cleanup;
diff --git a/src/node_device/node_device_driver.c 
b/src/node_device/node_device_driver.c
index 448cfd3..a6c6042 100644
--- a/src/node_device/node_device_driver.c
+++ b/src/node_device/node_device_driver.c
@@ -454,7 +454,7 @@ nodeDeviceVportCreateDelete(const int parent_host,
 goto cleanup;
 }
 
-if (virFileWriteStr(operation_path, vport_name) == -1) {
+if (virFileWriteStr(operation_path, vport_name, 0) == -1) {
 virReportSystemError(errno,
  _("Write of '%s' to '%s' during "
"vport create/delete failed"),
diff --git a/src/util/cgroup.c b/src/util/cgroup.c
index 2758a8f..3ba6325 100644
--- a/src/util/cgroup.c
+++ b/src/util/cgroup.c
@@ -288,7 +288,7 @@ static int virCgroupSetValueStr(virCgroupPtr group,
 return rc;
 
 VIR_DEBUG("Set value '%s' to '%s'", keypath, value);
-rc = virFileWriteStr(keypath, value);
+rc = virFileWriteStr(keypath, value, 0);
 if (rc < 0) {
 DEBUG("Failed to write value '%s': %m", value);
 rc = -errno;
diff --git a/src/util/pci.c b/src/util/pci.c
index d38cefa..095ad3f 100644
--- a/src/util/pci.c
+++ b/src/util/pci.c
@@ -849,7 +849,7 @@ pciBindDeviceToStub(pciDevice *dev, const char *driver)
  * bound by the stub.
  */
 pciDriverFile(path, sizeof(path), driver, "new_id");
-if (virFileWriteStr(path, dev->id) < 0) {
+if (virFileWriteStr(path, dev->id, 0) < 0) {
 virReportSystemError(errno,
  _("Failed to add PCI device ID '%s' to %s"),
  dev->id, driver);
@@ -862,7 +862,7 @@ pciBindDeviceToStub(pciDevice *dev, const char *driver)
  * your root filesystem.
  */
 pciDeviceFile(path, sizeof(path), dev->name, "driver/unbind");
-if (virFileExists(path) && virFileWriteStr(path, dev->name) < 0) {
+if (virFileExists(path) && virFileWriteStr(path, dev->name, 0) < 0) {
 virReportSystemError(errno,
  _("Failed to unbind PCI device '%s'"), dev->name);
 return -1;
@@ -875,7 +875,7 @@ pciBindDeviceToStub(pciDevice *dev, const char *driver)
 if (!virFileLinkPointsTo(path, drvdir)) {
 /* Xen's pciback.ko wants you to use new_slot first */
 pciDriverFile(path, sizeof(path), driver, "new_slot");
-if (virFileExists(path) && virFileWriteStr(path, dev->name) < 0) {
+if (virFileExists(path) && virFileWriteStr(path, dev->name, 0) < 0) {
 virReportSystemError(errno,
  _("Failed to add slot for PCI device '%s' to 
%s"),
  dev->name, driver);
@@ -883,7 +883,7 @@ pciBindDeviceToStub(pciDevice *dev, const char *driver)
 }
 
 pciDriverFile(path, sizeof(path), driver, "bind");
-if (virFileWriteStr(path, dev->name) < 0) {
+if (virFileWriteStr(path, dev->name, 0) < 0) {
 virReportSystemError(errno,
  _("Failed to bind PCI device