
On Tue, Jan 08, 2008 at 02:04:00PM +0900, S.Sakamoto wrote:
Hi
The libvirt on Xen-3.03 does not have the function that add/change/delete a Disk/NIC of inactive domain.
So, I made a patch which enabled add/change/delete of Disk/NIC of inactive domain. This patch will be able to change "disk" or "vif" parameter in configuration file with "attach-disk","attach-interface", "attach-device", "detach-disk", "detach-interface" and "detach-device" command, like "setmem" or "setvcpus".
The general principle of the patch is fine, but this change is not:
Index: src/conf.h =================================================================== RCS file: /data/cvs/libvirt/src/conf.h,v retrieving revision 1.4 diff -u -p -r1.4 conf.h --- src/conf.h 30 Nov 2007 15:43:42 -0000 1.4 +++ src/conf.h 8 Jan 2008 01:10:52 -0000 @@ -59,12 +59,31 @@ struct _virConfValue { };
/** + * virConfEntryPtr: + * used by configuration data + */ +typedef struct _virConfEntry virConfEntry; +typedef virConfEntry *virConfEntryPtr; + +struct _virConfEntry { + virConfEntryPtr next; + char* name; + char* comment; + virConfValuePtr value; +}; + +/** * virConfPtr: * a pointer to a parsed configuration file */ typedef struct _virConf virConf; typedef virConf *virConfPtr;
+struct _virConf { + const char* filename; + virConfEntryPtr entries; +}; + virConfPtr __virConfNew (void); virConfPtr __virConfReadFile (const char *filename); virConfPtr __virConfReadMem (const char *memory,
These struct definitions *intentionally* private. There are explicit APIs to access data within them. AFAICT, the 'virConfGetValue' API should be sufficient for the needs of your patch without accessing the struct data directly. Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|