[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] blktap2 and pygrub: error
Hi. I tried ti use VHD-disk-image for my Opensolaris DomU. Installation on this disk is fine, but i cannot to boot from it. in logs "Disk isn't accessible";
I mount image and tried to use pygrub directly: pygrubÂ/dev/xvdp Traceback (most recent call last): ÂÂFile "/usr/bin/pygrub", line 705, in <module>
ÂÂ Âfs = fsimage.open(file, get_fs_offset(file)) IOError: [Errno 95] Operation not supported but i can 'dd' from it device-file.
I researched this issue: error returned from: *** xen-src-root/tools/pygrub/src/fsimage/fsimage.c *** static PyObject * fsimage_open(PyObject *o, PyObject *args, PyObject *kwargs) { ÂÂ Â Â Âstatic char *kwlist[] = { "name", "offset", "options", NULL };
ÂÂ Â Â Âchar *name; ÂÂ Â Â Âchar *options = NULL; ÂÂ Â Â Âuint64_t offset = 0; ÂÂ Â Â Âfsimage_fs_t *fs; ÂÂ Â Â Âif (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|Ls", kwlist,
ÂÂ Â Â Â Â Â&name, &offset, &options)) ÂÂ Â Â Â Â Â Â Âreturn (NULL); ÂÂ Â Â Âif ((fs = PyObject_NEW(fsimage_fs_t, &fsimage_fs_type)) == NULL) ÂÂ Â Â Â Â Â Â Âreturn (NULL);
ÂÂ Â Â Âif ((fs->fs = fsi_open_fsimage(name, offset, options)) == NULL) { ÂÂ Â Â Â Â Â Â ÂPyErr_SetFromErrno(PyExc_IOError); Â Â <<<<<<<<<<<<<<<<<<<<<<<<
ÂÂ Â Â Â Â Â Â Âreturn (NULL); ÂÂ Â Â Â} ÂÂ Â Â Âreturn (PyObject *)fs; } *** xen-src-root/tools/libfsimage/common/fsimage.c ***
fsi_t *fsi_open_fsimage(const char *path, uint64_t off, const char *options) { ÂÂ Â Â Âfsi_t *fsi = NULL; ÂÂ Â Â Âint fd; ÂÂ Â Â Âint err; ÂÂ Â Â Âif ((fd = open(path, O_RDONLY)) == -1) Â Â Â <<<<<<<<<<<<<<<<<<<<<<
ÂÂ Â Â Â Â Â Â Âgoto fail; ÂÂ Â Â Âif ((fsi = malloc(sizeof(*fsi))) == NULL) ÂÂ Â Â Â Â Â Â Âgoto fail; ÂÂ Â Â Âfsi->f_fd = fd; ÂÂ Â Â Âfsi->f_off = off;
ÂÂ Â Â Âfsi->f_data = NULL; ÂÂ Â Â Âfsi->f_bootstring = NULL; ÂÂ Â Â Âpthread_mutex_lock(&fsi_lock); ÂÂ Â Â Âerr = find_plugin(fsi, path, options); ÂÂ Â Â Âpthread_mutex_unlock(&fsi_lock);
ÂÂ Â Â Âif (err != 0) ÂÂ Â Â Â Â Â Â Âgoto fail; ÂÂ Â Â Âreturn (fsi); fail: ÂÂ Â Â Âerr = errno; ÂÂ Â Â Âif (fd != -1) ÂÂ Â Â Â Â Â Â Â(void) close(fd);
ÂÂ Â Â Âfree(fsi); ÂÂ Â Â Âerrno = err; ÂÂ Â Â Âreturn (NULL); } If i use 'file:/' type of disk-image (i have other disk-image) then all ok.
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |