[sheepdog] Call to sd_truncate()

Hadrien KOHL hadrien.kohl at gmail.com
Thu Dec 12 11:16:58 CET 2013


Hi,

I have been running sheepdog on a cluster of three nodes for some time now.
I sometime experience errors on the guest and host sides.

On the guest side I read:
[TIMESTAMP] Buffer I/O error on device vda1, logical block XXXXXX
...
[TIMESTAMP] end_request: I/O error, dev vda, sector XXXXXX

On the host side (qemu log) I read:
qemu-system-x86_64: shrinking is not supported

If I'm not mistaken, this message is writen in the block/sheepdog.c file in
qemu:

static int sd_truncate(BlockDriverState *bs, int64_t offset)
{
    BDRVSheepdogState *s = bs->opaque;
    int ret, fd;
    unsigned int datalen;

    if (offset < s->inode.vdi_size) {
        error_report("shrinking is not supported");
        return -EINVAL;
    } else if (offset > SD_MAX_VDI_SIZE) {
        error_report("too big image size");
        return -EINVAL;
    }

    fd = connect_to_sdog(s);
    if (fd < 0) {
        return fd;
    }
...
}

I tried to find the call graph for this function but I am no C/C++
developer.

Anyone have had this problem?

Hadrien Kohl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wpkg.org/pipermail/sheepdog/attachments/20131212/989d4939/attachment-0003.html>


More information about the sheepdog mailing list