From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KqF9q-0004Jh-Lw for qemu-devel@nongnu.org; Wed, 15 Oct 2008 18:47:58 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KqF9o-0004Hd-Vq for qemu-devel@nongnu.org; Wed, 15 Oct 2008 18:47:58 -0400 Received: from [199.232.76.173] (port=38090 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KqF9o-0004HS-Oo for qemu-devel@nongnu.org; Wed, 15 Oct 2008 18:47:56 -0400 Received: from qw-out-1920.google.com ([74.125.92.148]:15349) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KqF9o-0005sc-MS for qemu-devel@nongnu.org; Wed, 15 Oct 2008 18:47:56 -0400 Received: by qw-out-1920.google.com with SMTP id 5so816182qwc.4 for ; Wed, 15 Oct 2008 15:47:54 -0700 (PDT) From: Lauro Ramos Venancio Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-vpNZTuesieQ4c+rJ1OAs" Date: Wed, 15 Oct 2008 19:47:48 -0300 Message-Id: <1224110868.7266.33.camel@laurov-desktop> Mime-Version: 1.0 Subject: [Qemu-devel] [PATCH] fix iovec Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --=-vpNZTuesieQ4c+rJ1OAs Content-Type: multipart/mixed; boundary="=-S+vT0yKx6dPJhteeLgy8" --=-S+vT0yKx6dPJhteeLgy8 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable We must call the writev even if an iovec element is invalid. For example, if the second element is invalid, the linux process the first one. --=20 Lauro Ramos Venancio INdT - Instituto Nokia de Tecnologia --=-S+vT0yKx6dPJhteeLgy8 Content-Disposition: attachment; filename=fix_iovec.patch Content-Type: text/x-patch; name=fix_iovec.patch; charset=UTF-8 Content-Transfer-Encoding: base64 SW5kZXg6IHFlbXUtYXJtLWVhYmkvbGludXgtdXNlci9zeXNjYWxsLmMNCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSBxZW11LWFybS1lYWJpLm9yaWcvbGludXgtdXNlci9zeXNjYWxsLmMJMjAwOC0xMC0wOSAxNTo1 MToyNC4wMDAwMDAwMDAgLTAzMDANCisrKyBxZW11LWFybS1lYWJpL2xpbnV4LXVzZXIvc3lzY2Fs bC5jCTIwMDgtMTAtMDkgMTY6MDI6MTUuMDAwMDAwMDAwIC0wMzAwDQpAQCAtMTE2NSw3ICsxMTY1 LDcgQEANCiB7DQogICAgIHN0cnVjdCB0YXJnZXRfaW92ZWMgKnRhcmdldF92ZWM7DQogICAgIGFi aV91bG9uZyBiYXNlOw0KLSAgICBpbnQgaSwgajsNCisgICAgaW50IGk7DQogDQogICAgIHRhcmdl dF92ZWMgPSBsb2NrX3VzZXIoVkVSSUZZX1JFQUQsIHRhcmdldF9hZGRyLCBjb3VudCAqIHNpemVv ZihzdHJ1Y3QgdGFyZ2V0X2lvdmVjKSwgMSk7DQogICAgIGlmICghdGFyZ2V0X3ZlYykNCkBAIC0x MTc1LDggKzExNzUsOCBAQA0KICAgICAgICAgdmVjW2ldLmlvdl9sZW4gPSB0c3dhcGwodGFyZ2V0 X3ZlY1tpXS5pb3ZfbGVuKTsNCiAgICAgICAgIGlmICh2ZWNbaV0uaW92X2xlbiAhPSAwKSB7DQog ICAgICAgICAgICAgdmVjW2ldLmlvdl9iYXNlID0gbG9ja191c2VyKHR5cGUsIGJhc2UsIHZlY1tp XS5pb3ZfbGVuLCBjb3B5KTsNCi0gICAgICAgICAgICBpZiAoIXZlY1tpXS5pb3ZfYmFzZSAmJiB2 ZWNbaV0uaW92X2xlbikgDQotICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsNCisgICAgICAgICAg ICAvKiBEb24ndCBjaGVjayBsb2NrX3VzZXIgcmV0dXJuIHZhbHVlLiBXZSBtdXN0IGNhbGwgd3Jp dGV2IGV2ZW4NCisgICAgICAgICAgICAgICBpZiBhIGVsZW1lbnQgaGFzIGludmFsaWQgYmFzZSBh ZGRyZXNzLiAqLw0KICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAvKiB6ZXJvIGxlbmd0 aCBwb2ludGVyIGlzIGlnbm9yZWQgKi8NCiAgICAgICAgICAgICB2ZWNbaV0uaW92X2Jhc2UgPSBO VUxMOw0KQEAgLTExODQsMTQgKzExODQsNiBAQA0KICAgICB9DQogICAgIHVubG9ja191c2VyICh0 YXJnZXRfdmVjLCB0YXJnZXRfYWRkciwgMCk7DQogICAgIHJldHVybiAwOw0KLSBmYWlsOg0KLSAg ICAvKiBmYWlsdXJlIC0gdW53aW5kIGxvY2tzICovDQotICAgIGZvciAoaiA9IDA7IGogPCBpOyBq KyspIHsNCi0gICAgICAgIGJhc2UgPSB0c3dhcGwodGFyZ2V0X3ZlY1tqXS5pb3ZfYmFzZSk7DQot ICAgICAgICB1bmxvY2tfdXNlcih2ZWNbal0uaW92X2Jhc2UsIGJhc2UsIDApOw0KLSAgICB9DQot ICAgIHVubG9ja191c2VyICh0YXJnZXRfdmVjLCB0YXJnZXRfYWRkciwgMCk7DQotICAgIHJldHVy biAtVEFSR0VUX0VGQVVMVDsNCiB9DQogDQogc3RhdGljIGFiaV9sb25nIHVubG9ja19pb3ZlYyhz dHJ1Y3QgaW92ZWMgKnZlYywgYWJpX3Vsb25nIHRhcmdldF9hZGRyLA0KQEAgLTEyMDUsOCArMTE5 NywxMCBAQA0KICAgICBpZiAoIXRhcmdldF92ZWMpDQogICAgICAgICByZXR1cm4gLVRBUkdFVF9F RkFVTFQ7DQogICAgIGZvcihpID0gMDtpIDwgY291bnQ7IGkrKykgew0KLSAgICAgICAgYmFzZSA9 IHRzd2FwbCh0YXJnZXRfdmVjW2ldLmlvdl9iYXNlKTsNCi0gICAgICAgIHVubG9ja191c2VyKHZl Y1tpXS5pb3ZfYmFzZSwgYmFzZSwgY29weSA/IHZlY1tpXS5pb3ZfbGVuIDogMCk7DQorICAgICAg ICBpZiAodGFyZ2V0X3ZlY1tpXS5pb3ZfYmFzZSkgew0KKyAgICAgICAgICAgIGJhc2UgPSB0c3dh cGwodGFyZ2V0X3ZlY1tpXS5pb3ZfYmFzZSk7DQorICAgICAgICAgICAgdW5sb2NrX3VzZXIodmVj W2ldLmlvdl9iYXNlLCBiYXNlLCBjb3B5ID8gdmVjW2ldLmlvdl9sZW4gOiAwKTsNCisgICAgICAg IH0NCiAgICAgfQ0KICAgICB1bmxvY2tfdXNlciAodGFyZ2V0X3ZlYywgdGFyZ2V0X2FkZHIsIDAp Ow0KIA0K --=-S+vT0yKx6dPJhteeLgy8-- --=-vpNZTuesieQ4c+rJ1OAs Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQBI9nMUH6xNdhO2vuERAkxbAJ9RcNmdj9yga00m1CGosvpuZNzzjQCgpXxd rB38C3r+DQ+XjkNqLwqQGtY= =GR1+ -----END PGP SIGNATURE----- --=-vpNZTuesieQ4c+rJ1OAs--