From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LrovA-0000lM-7e for qemu-devel@nongnu.org; Thu, 09 Apr 2009 03:43:36 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lrov4-0000ij-Ku for qemu-devel@nongnu.org; Thu, 09 Apr 2009 03:43:34 -0400 Received: from [199.232.76.173] (port=59277 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lrov4-0000iZ-3w for qemu-devel@nongnu.org; Thu, 09 Apr 2009 03:43:30 -0400 Received: from mx2.redhat.com ([66.187.237.31]:41269) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lrov3-0004kf-Gv for qemu-devel@nongnu.org; Thu, 09 Apr 2009 03:43:29 -0400 Message-ID: <49DDA71A.7050307@redhat.com> Date: Thu, 09 Apr 2009 09:43:22 +0200 From: Kevin Wolf MIME-Version: 1.0 References: <1239202145-18271-1-git-send-email-kwolf@redhat.com> <20090408225316.GA23493@volta.aurel32.net> In-Reply-To: <20090408225316.GA23493@volta.aurel32.net> Content-Type: multipart/mixed; boundary="------------010301020707020702020103" Subject: [Qemu-devel] [PATCH v2] block-vpc: Don't silently create smaller image than requested Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------010301020707020702020103 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by mx2.redhat.com id n397hK7a031685 Aurelien Jarno schrieb: > On Wed, Apr 08, 2009 at 04:49:05PM +0200, Kevin Wolf wrote: >> The algorithm from the VHD specification for CHS calculation silently = limits >> images to 127 GB which may confuse a user who requested a larger image= . Better >> output an error message and abort. >> >> Signed-off-by: Kevin Wolf >> --- >> block-vpc.c | 9 ++++++--- >> qemu-img.c | 4 ++++ >> 2 files changed, 10 insertions(+), 3 deletions(-) >> >> diff --git a/block-vpc.c b/block-vpc.c >> index 7ae5202..d915d20 100644 >> --- a/block-vpc.c >> +++ b/block-vpc.c >> @@ -433,14 +433,16 @@ static int vpc_write(BlockDriverState *bs, int64= _t sector_num, >> * >> * Note that the geometry doesn't always exactly match total_sectors = but >> * may round it down. >> + * >> + * Returns 0 on success, -EFBIG if the size is larger than 127 GB >> */ >=20 > Actually 0 is never returned, leading to a warning: > CC block-vpc.o > block-vpc.c: In function =E2=80=98calculate_geometry=E2=80=99: > block-vpc.c:475: warning: control reaches end of non-void function Oops, you're right. I'm pretty sure that it compiled fine when I tested=20 it. Maybe forgot to commit or something. Please find attached a new version which actually contains a return 0. Kevin --------------010301020707020702020103 Content-Type: text/plain; name="0001-block-vpc-Don-t-silently-create-smaller-image-than.patch" Content-Disposition: inline; filename*0="0001-block-vpc-Don-t-silently-create-smaller-image-than.patc"; filename*1="h" Content-Transfer-Encoding: base64 RnJvbSA5ZDYxMmM3MGVlMjMyNDQzMzM3Yzc5ODI1YWZkNzU0YWFkMWRiODc4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgpE YXRlOiBXZWQsIDggQXByIDIwMDkgMTU6NDQ6MDQgKzAyMDAKU3ViamVjdDogW1BBVENIXSBi bG9jay12cGM6IERvbid0IHNpbGVudGx5IGNyZWF0ZSBzbWFsbGVyIGltYWdlIHRoYW4gcmVx dWVzdGVkCgpUaGUgYWxnb3JpdGhtIGZyb20gdGhlIFZIRCBzcGVjaWZpY2F0aW9uIGZvciBD SFMgY2FsY3VsYXRpb24gc2lsZW50bHkgbGltaXRzCmltYWdlcyB0byAxMjcgR0Igd2hpY2gg bWF5IGNvbmZ1c2UgYSB1c2VyIHdobyByZXF1ZXN0ZWQgYSBsYXJnZXIgaW1hZ2UuIEJldHRl cgpvdXRwdXQgYW4gZXJyb3IgbWVzc2FnZSBhbmQgYWJvcnQuCgpTaWduZWQtb2ZmLWJ5OiBL ZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgotLS0KIGJsb2NrLXZwYy5jIHwgICAxMSAr KysrKysrKy0tLQogcWVtdS1pbWcuYyAgfCAgICA0ICsrKysKIDIgZmlsZXMgY2hhbmdlZCwg MTIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ibG9jay12 cGMuYyBiL2Jsb2NrLXZwYy5jCmluZGV4IDdhZTUyMDIuLjcxYTE3MWQgMTAwNjQ0Ci0tLSBh L2Jsb2NrLXZwYy5jCisrKyBiL2Jsb2NrLXZwYy5jCkBAIC00MzMsMTQgKzQzMywxNiBAQCBz dGF0aWMgaW50IHZwY193cml0ZShCbG9ja0RyaXZlclN0YXRlICpicywgaW50NjRfdCBzZWN0 b3JfbnVtLAogICoKICAqIE5vdGUgdGhhdCB0aGUgZ2VvbWV0cnkgZG9lc24ndCBhbHdheXMg ZXhhY3RseSBtYXRjaCB0b3RhbF9zZWN0b3JzIGJ1dAogICogbWF5IHJvdW5kIGl0IGRvd24u CisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIC1FRkJJRyBpZiB0aGUgc2l6ZSBpcyBs YXJnZXIgdGhhbiAxMjcgR0IKICAqLwotc3RhdGljIHZvaWQgY2FsY3VsYXRlX2dlb21ldHJ5 KGludDY0X3QgdG90YWxfc2VjdG9ycywgdWludDE2X3QqIGN5bHMsCitzdGF0aWMgaW50IGNh bGN1bGF0ZV9nZW9tZXRyeShpbnQ2NF90IHRvdGFsX3NlY3RvcnMsIHVpbnQxNl90KiBjeWxz LAogICAgIHVpbnQ4X3QqIGhlYWRzLCB1aW50OF90KiBzZWNzX3Blcl9jeWwpCiB7CiAgICAg dWludDMyX3QgY3lsc190aW1lc19oZWFkczsKIAogICAgIGlmICh0b3RhbF9zZWN0b3JzID4g NjU1MzUgKiAxNiAqIDI1NSkKLSAgICAgICAgdG90YWxfc2VjdG9ycyA9IDY1NTM1ICogMTYg KiAyNTU7CisgICAgICAgIHJldHVybiAtRUZCSUc7CiAKICAgICBpZiAodG90YWxfc2VjdG9y cyA+IDY1NTM1ICogMTYgKiA2MykgewogICAgICAgICAqc2Vjc19wZXJfY3lsID0gMjU1OwpA QCAtNDcwLDYgKzQ3Miw4IEBAIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZV9nZW9tZXRyeShpbnQ2 NF90IHRvdGFsX3NlY3RvcnMsIHVpbnQxNl90KiBjeWxzLAogICAgIC8vIE5vdGU6IFJvdW5k aW5nIHVwIGRldmlhdGVzIGZyb20gdGhlIFZpcnR1YWwgUEMgYmVoYXZpb3VyCiAgICAgLy8g SG93ZXZlciwgd2UgbmVlZCB0aGlzIHRvIGF2b2lkIHRydW5jYXRpbmcgaW1hZ2VzIGluIHFl bXUtaW1nIGNvbnZlcnQKICAgICAqY3lscyA9IChjeWxzX3RpbWVzX2hlYWRzICsgKmhlYWRz IC0gMSkgLyAqaGVhZHM7CisKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCB2cGNf Y3JlYXRlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQ2NF90IHRvdGFsX3NlY3RvcnMsCkBA IC00OTMsNyArNDk3LDggQEAgc3RhdGljIGludCB2cGNfY3JlYXRlKGNvbnN0IGNoYXIgKmZp bGVuYW1lLCBpbnQ2NF90IHRvdGFsX3NlY3RvcnMsCiAgICAgICAgIHJldHVybiAtRUlPOwog CiAgICAgLy8gQ2FsY3VsYXRlIG1hdGNoaW5nIHRvdGFsX3NpemUgYW5kIGdlb21ldHJ5Ci0g ICAgY2FsY3VsYXRlX2dlb21ldHJ5KHRvdGFsX3NlY3RvcnMsICZjeWxzLCAmaGVhZHMsICZz ZWNzX3Blcl9jeWwpOworICAgIGlmIChjYWxjdWxhdGVfZ2VvbWV0cnkodG90YWxfc2VjdG9y cywgJmN5bHMsICZoZWFkcywgJnNlY3NfcGVyX2N5bCkpCisgICAgICAgIHJldHVybiAtRUZC SUc7CiAgICAgdG90YWxfc2VjdG9ycyA9IChpbnQ2NF90KSBjeWxzICogaGVhZHMgKiBzZWNz X3Blcl9jeWw7CiAKICAgICAvLyBQcmVwYXJlIHRoZSBIYXJkIERpc2sgRm9vdGVyCmRpZmYg LS1naXQgYS9xZW11LWltZy5jIGIvcWVtdS1pbWcuYwppbmRleCA5MTNhZDM0Li5jY2Y0YTZm IDEwMDY0NAotLS0gYS9xZW11LWltZy5jCisrKyBiL3FlbXUtaW1nLmMKQEAgLTMwNiw2ICsz MDYsOCBAQCBzdGF0aWMgaW50IGltZ19jcmVhdGUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQog ICAgIGlmIChyZXQgPCAwKSB7CiAgICAgICAgIGlmIChyZXQgPT0gLUVOT1RTVVApIHsKICAg ICAgICAgICAgIGVycm9yKCJGb3JtYXR0aW5nIG9yIGZvcm1hdHRpbmcgb3B0aW9uIG5vdCBz dXBwb3J0ZWQgZm9yIGZpbGUgZm9ybWF0ICclcyciLCBmbXQpOworICAgICAgICB9IGVsc2Ug aWYgKHJldCA9PSAtRUZCSUcpIHsKKyAgICAgICAgICAgIGVycm9yKCJUaGUgaW1hZ2Ugc2l6 ZSBpcyB0b28gbGFyZ2UgZm9yIGZpbGUgZm9ybWF0ICclcyciLCBmbXQpOwogICAgICAgICB9 IGVsc2UgewogICAgICAgICAgICAgZXJyb3IoIkVycm9yIHdoaWxlIGZvcm1hdHRpbmciKTsK ICAgICAgICAgfQpAQCAtNDk0LDYgKzQ5Niw4IEBAIHN0YXRpYyBpbnQgaW1nX2NvbnZlcnQo aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIGlmIChyZXQgPCAwKSB7CiAgICAgICAgIGlm IChyZXQgPT0gLUVOT1RTVVApIHsKICAgICAgICAgICAgIGVycm9yKCJGb3JtYXR0aW5nIG5v dCBzdXBwb3J0ZWQgZm9yIGZpbGUgZm9ybWF0ICclcyciLCBvdXRfZm10KTsKKyAgICAgICAg fSBlbHNlIGlmIChyZXQgPT0gLUVGQklHKSB7CisgICAgICAgICAgICBlcnJvcigiVGhlIGlt YWdlIHNpemUgaXMgdG9vIGxhcmdlIGZvciBmaWxlIGZvcm1hdCAnJXMnIiwgb3V0X2ZtdCk7 CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBlcnJvcigiRXJyb3Igd2hpbGUgZm9y bWF0dGluZyAnJXMnIiwgb3V0X2ZpbGVuYW1lKTsKICAgICAgICAgfQotLSAKMS42LjAuNgoK --------------010301020707020702020103--