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

[Xen-changelog] [xen master] tools/libfsimage: Bump soname to 4.12



commit c69a6aca8522c7f676953e56191584381adf2c06
Author:     Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
AuthorDate: Tue Oct 9 17:02:34 2018 +0100
Commit:     Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
CommitDate: Mon Oct 15 14:49:33 2018 +0100

    tools/libfsimage: Bump soname to 4.12
    
    This library does not have a stable ABI promise.  As far as we know it
    is used only by pygrub.  Bump its soname to the Xen version (and
    intend to change it each time).
    
    Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
    Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
 tools/libfsimage/common/Makefile            |   4 +-
 tools/libfsimage/common/fsimage.c           |   2 +-
 tools/libfsimage/common/fsimage.h           |  56 ---------------
 tools/libfsimage/common/fsimage_grub.h      | 102 ----------------------------
 tools/libfsimage/common/fsimage_plugin.h    |  64 -----------------
 tools/libfsimage/common/xenfsimage.h        |  56 +++++++++++++++
 tools/libfsimage/common/xenfsimage_grub.h   | 102 ++++++++++++++++++++++++++++
 tools/libfsimage/common/xenfsimage_plugin.h |  64 +++++++++++++++++
 8 files changed, 225 insertions(+), 225 deletions(-)

diff --git a/tools/libfsimage/common/Makefile b/tools/libfsimage/common/Makefile
index a4655c421c..beda8f5f3a 100644
--- a/tools/libfsimage/common/Makefile
+++ b/tools/libfsimage/common/Makefile
@@ -1,8 +1,8 @@
 XEN_ROOT = $(CURDIR)/../../..
 include $(XEN_ROOT)/tools/libfsimage/Rules.mk
 
-MAJOR = 1.0
-MINOR = 0
+MAJOR = 0
+MINOR = 4.12
 
 LDFLAGS-$(CONFIG_SunOS) = -Wl,-M -Wl,mapfile-SunOS
 LDFLAGS-$(CONFIG_Linux) = -Wl,mapfile-GNU
diff --git a/tools/libfsimage/common/fsimage.c 
b/tools/libfsimage/common/fsimage.c
index 21d6c38ac6..5cfa56a84d 100644
--- a/tools/libfsimage/common/fsimage.c
+++ b/tools/libfsimage/common/fsimage.c
@@ -31,7 +31,7 @@
 #include <errno.h>
 #include <pthread.h>
 
-#include "fsimage_plugin.h"
+#include "xenfsimage_plugin.h"
 #include "fsimage_priv.h"
 
 static pthread_mutex_t fsi_lock = PTHREAD_MUTEX_INITIALIZER;
diff --git a/tools/libfsimage/common/fsimage.h 
b/tools/libfsimage/common/fsimage.h
deleted file mode 100644
index 201abd54f2..0000000000
--- a/tools/libfsimage/common/fsimage.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- * 
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _FSIMAGE_H
-#define        _FSIMAGE_H
-
-#ifdef __cplusplus
-extern C {
-#endif
-
-#include <sys/types.h>
-#include <stdint.h>
-#include <unistd.h>
-
-typedef struct fsi fsi_t;
-typedef struct fsi_file fsi_file_t;
-
-fsi_t *fsi_open_fsimage(const char *, uint64_t, const char *);
-void fsi_close_fsimage(fsi_t *);
-
-int fsi_file_exists(fsi_t *, const char *);
-fsi_file_t *fsi_open_file(fsi_t *, const char *);
-int fsi_close_file(fsi_file_t *);
-
-ssize_t fsi_read_file(fsi_file_t *, void *, size_t);
-ssize_t fsi_pread_file(fsi_file_t *, void *, size_t, uint64_t);
-
-char *fsi_bootstring_alloc(fsi_t *, size_t);
-void fsi_bootstring_free(fsi_t *);
-char *fsi_fs_bootstring(fsi_t *);
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* _FSIMAGE_H */
diff --git a/tools/libfsimage/common/fsimage_grub.h 
b/tools/libfsimage/common/fsimage_grub.h
deleted file mode 100644
index 534c346b23..0000000000
--- a/tools/libfsimage/common/fsimage_grub.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- * 
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _FSIMAGE_GRUB_H
-#define        _FSIMAGE_GRUB_H
-
-#ifdef __cplusplus
-extern C {
-#endif
-
-#include <sys/types.h>
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#include "fsimage.h"
-#include "fsimage_plugin.h"
-
-typedef struct fsig_plugin_ops {
-       int fpo_version;
-       int (*fpo_mount)(fsi_file_t *, const char *);
-       int (*fpo_dir)(fsi_file_t *, char *);
-       int (*fpo_read)(fsi_file_t *, char *, int);
-} fsig_plugin_ops_t;
-
-#define        STAGE1_5
-#define FSYS_BUFLEN 0x40000
-#define        SECTOR_BITS 9
-#define        SECTOR_SIZE 0x200
-
-#define        FSYS_BUF (fsig_file_buf(ffi))
-#define        filepos (*fsig_filepos(ffi))
-#define        filemax (*fsig_filemax(ffi))
-#define        devread fsig_devread
-#define substring fsig_substring
-#define        errnum (*fsig_errnum(ffi))
-#define        disk_read_func (*fsig_disk_read_junk())
-#define        disk_read_hook (*fsig_disk_read_junk())
-#define        print_possibilities 0
-#define        noisy_printf(fmt...)
-
-#define        grub_memset memset
-#define        grub_memmove memmove
-#define grub_log2 fsig_log2
-
-extern char **fsig_disk_read_junk(void);
-unsigned long fsig_log2(unsigned long);
-
-#define        ERR_FSYS_CORRUPT 1
-#define        ERR_OUTSIDE_PART 1
-#define        ERR_SYMLINK_LOOP 1
-#define        ERR_FILELENGTH 1
-#define        ERR_BAD_FILETYPE 1
-#define        ERR_FILE_NOT_FOUND 1
-#define        ERR_BAD_ARGUMENT 1
-#define        ERR_FILESYSTEM_NOT_FOUND 1
-#define        ERR_NO_BOOTPATH 1
-#define        ERR_DEV_VALUES 1
-#define        ERR_WONT_FIT 1
-#define        ERR_READ 1
-#define        ERR_NEWER_VERSION 1
-
-fsi_plugin_ops_t *fsig_init(fsi_plugin_t *, fsig_plugin_ops_t *);
-
-int fsig_devread(fsi_file_t *, unsigned int, unsigned int, unsigned int, char 
*);
-int fsig_substring(const char *, const char *);
-
-void *fsig_fs_buf(fsi_t *);
-
-fsi_file_t *fsig_file_alloc(fsi_t *);
-void *fsig_file_buf(fsi_file_t *);
-uint64_t *fsig_filepos(fsi_file_t *);
-uint64_t *fsig_filemax(fsi_file_t *);
-int *fsig_int1(fsi_file_t *);
-int *fsig_int2(fsi_file_t *);
-int *fsig_errnum(fsi_file_t *);
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* _FSIMAGE_GRUB_H */
diff --git a/tools/libfsimage/common/fsimage_plugin.h 
b/tools/libfsimage/common/fsimage_plugin.h
deleted file mode 100644
index a682719a63..0000000000
--- a/tools/libfsimage/common/fsimage_plugin.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- * 
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _FSIMAGE_PLUGIN_H
-#define        _FSIMAGE_PLUGIN_H
-
-#ifdef __cplusplus
-extern C {
-#endif
-
-#include <sys/types.h>
-
-#include "fsimage.h"
-
-#define        FSIMAGE_PLUGIN_VERSION 1
-
-typedef struct fsi_plugin fsi_plugin_t;
-
-typedef struct fsi_plugin_ops {
-       int fpo_version;
-       int (*fpo_mount)(fsi_t *, const char *, const char *);
-       int (*fpo_umount)(fsi_t *);
-       fsi_file_t *(*fpo_open)(fsi_t *, const char *);
-       ssize_t (*fpo_read)(fsi_file_t *, void *, size_t);
-       ssize_t (*fpo_pread)(fsi_file_t *, void *, size_t, uint64_t);
-       int (*fpo_close)(fsi_file_t *);
-} fsi_plugin_ops_t;
-
-typedef fsi_plugin_ops_t *
-    (*fsi_plugin_init_t)(int, fsi_plugin_t *, const char **);
-
-void fsip_fs_set_data(fsi_t *, void *);
-fsi_file_t *fsip_file_alloc(fsi_t *, void *);
-void fsip_file_free(fsi_file_t *);
-fsi_t *fsip_fs(fsi_file_t *);
-uint64_t fsip_fs_offset(fsi_t *);
-void *fsip_fs_data(fsi_t *);
-void *fsip_file_data(fsi_file_t *);
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* _FSIMAGE_PLUGIN_H */
diff --git a/tools/libfsimage/common/xenfsimage.h 
b/tools/libfsimage/common/xenfsimage.h
new file mode 100644
index 0000000000..201abd54f2
--- /dev/null
+++ b/tools/libfsimage/common/xenfsimage.h
@@ -0,0 +1,56 @@
+/*
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ * 
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#ifndef _FSIMAGE_H
+#define        _FSIMAGE_H
+
+#ifdef __cplusplus
+extern C {
+#endif
+
+#include <sys/types.h>
+#include <stdint.h>
+#include <unistd.h>
+
+typedef struct fsi fsi_t;
+typedef struct fsi_file fsi_file_t;
+
+fsi_t *fsi_open_fsimage(const char *, uint64_t, const char *);
+void fsi_close_fsimage(fsi_t *);
+
+int fsi_file_exists(fsi_t *, const char *);
+fsi_file_t *fsi_open_file(fsi_t *, const char *);
+int fsi_close_file(fsi_file_t *);
+
+ssize_t fsi_read_file(fsi_file_t *, void *, size_t);
+ssize_t fsi_pread_file(fsi_file_t *, void *, size_t, uint64_t);
+
+char *fsi_bootstring_alloc(fsi_t *, size_t);
+void fsi_bootstring_free(fsi_t *);
+char *fsi_fs_bootstring(fsi_t *);
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* _FSIMAGE_H */
diff --git a/tools/libfsimage/common/xenfsimage_grub.h 
b/tools/libfsimage/common/xenfsimage_grub.h
new file mode 100644
index 0000000000..534c346b23
--- /dev/null
+++ b/tools/libfsimage/common/xenfsimage_grub.h
@@ -0,0 +1,102 @@
+/*
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ * 
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#ifndef _FSIMAGE_GRUB_H
+#define        _FSIMAGE_GRUB_H
+
+#ifdef __cplusplus
+extern C {
+#endif
+
+#include <sys/types.h>
+#include <string.h>
+#include <stdlib.h>
+#include <ctype.h>
+
+#include "fsimage.h"
+#include "fsimage_plugin.h"
+
+typedef struct fsig_plugin_ops {
+       int fpo_version;
+       int (*fpo_mount)(fsi_file_t *, const char *);
+       int (*fpo_dir)(fsi_file_t *, char *);
+       int (*fpo_read)(fsi_file_t *, char *, int);
+} fsig_plugin_ops_t;
+
+#define        STAGE1_5
+#define FSYS_BUFLEN 0x40000
+#define        SECTOR_BITS 9
+#define        SECTOR_SIZE 0x200
+
+#define        FSYS_BUF (fsig_file_buf(ffi))
+#define        filepos (*fsig_filepos(ffi))
+#define        filemax (*fsig_filemax(ffi))
+#define        devread fsig_devread
+#define substring fsig_substring
+#define        errnum (*fsig_errnum(ffi))
+#define        disk_read_func (*fsig_disk_read_junk())
+#define        disk_read_hook (*fsig_disk_read_junk())
+#define        print_possibilities 0
+#define        noisy_printf(fmt...)
+
+#define        grub_memset memset
+#define        grub_memmove memmove
+#define grub_log2 fsig_log2
+
+extern char **fsig_disk_read_junk(void);
+unsigned long fsig_log2(unsigned long);
+
+#define        ERR_FSYS_CORRUPT 1
+#define        ERR_OUTSIDE_PART 1
+#define        ERR_SYMLINK_LOOP 1
+#define        ERR_FILELENGTH 1
+#define        ERR_BAD_FILETYPE 1
+#define        ERR_FILE_NOT_FOUND 1
+#define        ERR_BAD_ARGUMENT 1
+#define        ERR_FILESYSTEM_NOT_FOUND 1
+#define        ERR_NO_BOOTPATH 1
+#define        ERR_DEV_VALUES 1
+#define        ERR_WONT_FIT 1
+#define        ERR_READ 1
+#define        ERR_NEWER_VERSION 1
+
+fsi_plugin_ops_t *fsig_init(fsi_plugin_t *, fsig_plugin_ops_t *);
+
+int fsig_devread(fsi_file_t *, unsigned int, unsigned int, unsigned int, char 
*);
+int fsig_substring(const char *, const char *);
+
+void *fsig_fs_buf(fsi_t *);
+
+fsi_file_t *fsig_file_alloc(fsi_t *);
+void *fsig_file_buf(fsi_file_t *);
+uint64_t *fsig_filepos(fsi_file_t *);
+uint64_t *fsig_filemax(fsi_file_t *);
+int *fsig_int1(fsi_file_t *);
+int *fsig_int2(fsi_file_t *);
+int *fsig_errnum(fsi_file_t *);
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* _FSIMAGE_GRUB_H */
diff --git a/tools/libfsimage/common/xenfsimage_plugin.h 
b/tools/libfsimage/common/xenfsimage_plugin.h
new file mode 100644
index 0000000000..a682719a63
--- /dev/null
+++ b/tools/libfsimage/common/xenfsimage_plugin.h
@@ -0,0 +1,64 @@
+/*
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ * 
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#ifndef _FSIMAGE_PLUGIN_H
+#define        _FSIMAGE_PLUGIN_H
+
+#ifdef __cplusplus
+extern C {
+#endif
+
+#include <sys/types.h>
+
+#include "fsimage.h"
+
+#define        FSIMAGE_PLUGIN_VERSION 1
+
+typedef struct fsi_plugin fsi_plugin_t;
+
+typedef struct fsi_plugin_ops {
+       int fpo_version;
+       int (*fpo_mount)(fsi_t *, const char *, const char *);
+       int (*fpo_umount)(fsi_t *);
+       fsi_file_t *(*fpo_open)(fsi_t *, const char *);
+       ssize_t (*fpo_read)(fsi_file_t *, void *, size_t);
+       ssize_t (*fpo_pread)(fsi_file_t *, void *, size_t, uint64_t);
+       int (*fpo_close)(fsi_file_t *);
+} fsi_plugin_ops_t;
+
+typedef fsi_plugin_ops_t *
+    (*fsi_plugin_init_t)(int, fsi_plugin_t *, const char **);
+
+void fsip_fs_set_data(fsi_t *, void *);
+fsi_file_t *fsip_file_alloc(fsi_t *, void *);
+void fsip_file_free(fsi_file_t *);
+fsi_t *fsip_fs(fsi_file_t *);
+uint64_t fsip_fs_offset(fsi_t *);
+void *fsip_fs_data(fsi_t *);
+void *fsip_file_data(fsi_file_t *);
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* _FSIMAGE_PLUGIN_H */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.