From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49306) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c765f-0000Ud-7y for qemu-devel@nongnu.org; Wed, 16 Nov 2016 14:41:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c765c-0003Iy-1Y for qemu-devel@nongnu.org; Wed, 16 Nov 2016 14:41:51 -0500 Date: Wed, 16 Nov 2016 14:41:44 -0500 From: Christopher Oliver Message-Id: <20161116144144.674250d7644ef8f8cc516993@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Wed__16_Nov_2016_14_41_44_-0500_HtMuwJmBbN8p5ASM" Subject: [Qemu-devel] (no subject) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, mreitz@redhat.com, kwolf@redhat.com This is a multi-part message in MIME format. --Multipart=_Wed__16_Nov_2016_14_41_44_-0500_HtMuwJmBbN8p5ASM Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit This patch (hack?) works around the slowness in SEEK_HOLE for large dense files on Linux tmpfs. It may improve life elsewhere as well, and the penalty of the checks should be vanishingly small where it is not needed. If I'm subtly (or not so subtly) wrong, please fire back. Sincerely, -- Christopher Oliver --Multipart=_Wed__16_Nov_2016_14_41_44_-0500_HtMuwJmBbN8p5ASM Content-Type: application/octet-stream; name="qemu-patch" Content-Disposition: attachment; filename="qemu-patch" Content-Transfer-Encoding: base64 VGhlIGZvbGxvd2luZyBwYXRjaCBpcyBhIHdvcmstYXJvdW5kIGZvciBzbG93IFNFRUtfSE9MRSBv biBzb21lIGZpbGVzeXN0ZW1zLgpTcGVjaWZpY2FsbHksIFNFRUtfSE9MRSBvbiBhIGRlbnNlIGZp bGUgb24gTGludXggdG1wZnMgaXMgbGluZWFyIHRpbWUgaW4KdGhlIGxlbmd0aC4gIFRoaXMgc2xv d3MgcWVtdS1pbWcgdG8gYSBjcmF3bCBhcyBpdCBydW5zIFNFRUtfREFUQS9TRUVLX0hPTEUKcGFp cnMgb3ZlciB0aGUgbGVuZ3RoIG9mIHRoZSBpbWFnZSBpdCdzIHJlYWRpbmcgc3RlcHBpbmcgYnkg c21hbGwgZGVsdGFzLgoKVGhlIGtleSBvYnNlcnZhdGlvbiBpcyB0aGF0IGlmIHRoZSBkZXNjcmlw dG9yIGlzIHJlYWQtb25seSwgYW5kIHRoZXJlIGFyZQpubyB3cml0ZXJzIGFueXdoZXJlIGVsc2Ug KHRoYXQncyB1bmRlZmluZWQgYmVoYXZpb3IgYW55aG93LCByaWdodD8pLCB0aGVuIGEKaG9sZSBz ZWVrIGluIHRoZSBpbnRlcnZhbCBmcm9tIHRoZSBwcmV2aW91cyBzdGFydCB0byB0aGUgcHJldmlv dXNseSBmb3VuZApob2xlIHdpbGwgZmluZCB0aGUgc2FtZSBob2xlLgoKU2lnbmVkLW9mZi1ieTog Q2hyaXN0b3BoZXIgT2xpdmVyCgpkaWZmIC0tZ2l0IGEvYmxvY2svcmF3LXBvc2l4LmMgYi9ibG9j ay9yYXctcG9zaXguYwppbmRleCAyOGI0N2Q5Li5iNDVkZWZlIDEwMDY0NAotLS0gYS9ibG9jay9y YXctcG9zaXguYworKysgYi9ibG9jay9yYXctcG9zaXguYwpAQCAtMTM2LDYgKzEzNiw4IEBAIHR5 cGVkZWYgc3RydWN0IEJEUlZSYXdTdGF0ZSB7CiAgICAgaW50IHR5cGU7CiAgICAgaW50IG9wZW5f ZmxhZ3M7CiAgICAgc2l6ZV90IGJ1Zl9hbGlnbjsKKyAgICBvZmZfdCBsYXN0X2hvbGU7CisgICAg b2ZmX3QgaG9sZV9mb2xsb3dzOwogCiAjaWZkZWYgQ09ORklHX1hGUwogICAgIGJvb2wgaXNfeGZz OjE7CkBAIC00NzAsNiArNDcyLDcgQEAgc3RhdGljIGludCByYXdfb3Blbl9jb21tb24oQmxvY2tE cml2ZXJTdGF0ZSAqYnMsIFFEaWN0ICpvcHRpb25zLAogCiAgICAgcy0+aGFzX2Rpc2NhcmQgPSB0 cnVlOwogICAgIHMtPmhhc193cml0ZV96ZXJvZXMgPSB0cnVlOworICAgIHMtPmxhc3RfaG9sZSA9 IC0xOwogICAgIGJzLT5zdXBwb3J0ZWRfemVyb19mbGFncyA9IEJEUlZfUkVRX01BWV9VTk1BUDsK ICAgICBpZiAoKGJzLT5vcGVuX2ZsYWdzICYgQkRSVl9PX05PQ0FDSEUpICE9IDApIHsKICAgICAg ICAgcy0+bmVlZHNfYWxpZ25tZW50ID0gdHJ1ZTsKQEAgLTE3MTAsNyArMTcxMywyNCBAQCBzdGF0 aWMgaW50IGZpbmRfYWxsb2NhdGlvbihCbG9ja0RyaXZlclN0YXRlICpicywgb2ZmX3Qgc3RhcnQs CiAgICAgICogSDQuIG9mZnMgPCAwLCBlcnJubyAhPSBFTlhJTzogd2UgbGVhcm5lZCBub3RoaW5n CiAgICAgICogICAgIFByZXRlbmQgd2Uga25vdyBub3RoaW5nIGF0IGFsbCwgaS5lLiAiZm9yZ2V0 IiBhYm91dCBEMS4KICAgICAgKi8KLSAgICBvZmZzID0gbHNlZWsocy0+ZmQsIHN0YXJ0LCBTRUVL X0hPTEUpOworICAgIC8qIEFkZGVuZHVtOiBTaW5jZSBIT0xFIHNlZWtzIGFyZSBleHBlbnNpdmUg b24gc29tZSBmaWxlc3lzdGVtcworICAgICAqIChlLmcuIHRtcGZzKSBhbmQgaG9sZXMgZG9uJ3Qg Y2hhbmdlIHdoZW4gYW4gaW1hZ2UgaXMgcmVhZCBvbmx5LAorICAgICAqIGNhY2hlIHRoZSByYW5n ZSBmcm9tIGEgc3RhcnQgdG8gYSBob2xkIGFuZCByZXR1cm4gdGhhdCB2YWx1ZQorICAgICAqIGZv ciByZXF1ZXN0cyBpbiB0aGF0IGludGVydmFsLiAgT3V0c2lkZSBvZiB0aGF0IGludGVydmFsLCBz ZWVrCisgICAgICogYW5kIGNhY2hlIHRoZSBuZXcgcmFuZ2UuCisgICAgICovCisgICAgaWYgICgo cy0+b3Blbl9mbGFncyAmIChPX1JEV1J8T19SRE9OTFkpKSA9PSBPX1JET05MWSkgeworICAgICAg ICBpZiAoc3RhcnQgPD0gcy0+bGFzdF9ob2xlICYmIHN0YXJ0ID49IHMtPmhvbGVfZm9sbG93cykg eworICAgICAgICAgICAgb2ZmcyA9IGxzZWVrKHMtPmZkLCBzLT5sYXN0X2hvbGUsIFNFRUtfU0VU KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG9mZnMgPSBsc2VlayhzLT5mZCwgc3Rh cnQsIFNFRUtfSE9MRSk7CisgICAgICAgICAgICBzLT5sYXN0X2hvbGUgPSBvZmZzOworICAgICAg ICAgICAgcy0+aG9sZV9mb2xsb3dzID0gc3RhcnQ7CisgICAgICAgIH0KKyAgICB9IGVsc2Ugewor ICAgICAgICBvZmZzID0gbHNlZWsocy0+ZmQsIHN0YXJ0LCBTRUVLX0hPTEUpOworICAgIH0KKwog ICAgIGlmIChvZmZzIDwgMCkgewogICAgICAgICByZXR1cm4gLWVycm5vOyAgICAgICAgICAvKiBE MSBhbmQgKEgzIG9yIEg0KSAqLwogICAgIH0K --Multipart=_Wed__16_Nov_2016_14_41_44_-0500_HtMuwJmBbN8p5ASM--