Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 7 Jan 2002 12:54:58 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 7 Jan 2002 12:54:46 -0500 Received: from stat8.steeleye.com ([63.113.59.41]:49924 "EHLO fenric.sc.steeleye.com") by vger.kernel.org with ESMTP id ; Mon, 7 Jan 2002 12:54:32 -0500 Date: Mon, 7 Jan 2002 12:53:45 -0500 (EST) From: Paul Clements Reply-To: Paul.Clements@steeleye.com To: =?iso-8859-1?q?Luc=20Robalo=20Marques?= cc: linux-kernel@vger.kernel.org, paul.clements@steeleye.com Subject: Re: nbd request too big In-Reply-To: <20020107152423.78321.qmail@web14906.mail.yahoo.com> Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="296485894-351917321-1010426025=:5690" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --296485894-351917321-1010426025=:5690 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN Content-Transfer-Encoding: QUOTED-PRINTABLE Hi, If you're using the nbd-server from Pavel Machek's web site, you'll need to= patch=20 nbd-server.c to make it work on ~2.4.3+ kernels. My patched version of nbd-= server.c and cliserv.h are attached. The patched files make the server's request buf= fer be dynamically allocated, so any size request can be handled by the server.=20 The patched version also fixes some other outdated code (e.g., llseek -> ls= eek64). --=20 Paul Clements Paul.Clements@SteelEye.com On Mon, 7 Jan 2002, [iso-8859-1] Luc Robalo Marques wrote: > hi, >=20 > i would like to setup a nbd but when I try to mke2fs > the device on the client side, the connection hangs > and /log/messages contains a entry for mthe server > telling that the request was too big. > Any idea what caused it. >=20 > Thanks you >=20 > Luc robalo Marques >=20 > ___________________________________________________________ > Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en fran=E7ais ! > Yahoo! Courrier : http://courrier.yahoo.fr > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" i= n > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ >=20 --296485894-351917321-1010426025=:5690 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="nbd-server.c" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="nbd-server.c" LyoNCiAqIE5ldHdvcmsgQmxvY2sgRGV2aWNlIC0gc2VydmVyDQogKg0KICog Q29weXJpZ2h0IDE5OTYtMTk5OCBQYXZlbCBNYWNoZWssIGRpc3RyaWJ1dGUg dW5kZXIgR1BMDQogKiAgPHBhdmVsQGF0cmV5Lmthcmxpbi5tZmYuY3VuaS5j ej4NCiAqDQogKiBWZXJzaW9uIDEuMCAtIGhvcGVmdWxseSA2NC1iaXQtY2xl YW4NCiAqIFZlcnNpb24gMS4xIC0gbWVyZ2luZyBlbmhhbmNlbWVudHMgZnJv bSBKb3NoIFBhcnNvbnMsIDxqb3NoQGNvb21icy5hbnUuZWR1LmF1Pg0KICog VmVyc2lvbiAxLjIgLSBhdXRvZGV0ZWN0IHNpemUgb2YgYmxvY2sgZGV2aWNl cywgdGhhbnggdG8gUGV0ZXIgVC4gQnJldWVyIiA8cHRiQGl0LnVjM20uZXM+ DQogKi8NCg0KI2RlZmluZSBWRVJTSU9OICIxLjMiDQojZGVmaW5lIEdJR0Eg KDEqMTAyNCoxMDI0KjEwMjQpDQoNCi8qIHVzZSBsc2VlazY0IGV4Y2x1c2l2 ZWx5ICovDQojZGVmaW5lIF9MQVJHRUZJTEVfU09VUkNFICAgLy8gU29tZSBt b3JlIGZ1bmN0aW9ucyBmb3IgY29ycmVjdCBzdGFuZGFyZCBJL08uDQojZGVm aW5lIF9MQVJHRUZJTEU2NF9TT1VSQ0UgLy8gQWRkaXRpb25hbCBmdW5jdGlv bmFsaXR5IGZyb20gTEZTIGZvciBsYXJnZSBmaWxlcw0KDQojaW5jbHVkZSA8 c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPHN5cy9zdGF0Lmg+DQojaW5jbHVk ZSA8bmV0aW5ldC90Y3AuaD4NCiNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CQkv KiBzb2NrYWRkcl9pbiwgaHRvbnMsIGluX2FkZHIgKi8NCiNpbmNsdWRlIDxu ZXRkYi5oPgkJLyogaG9zdGVudCwgZ2V0aG9zdGJ5KiwgZ2V0c2VydmJ5KiAq Lw0KI2luY2x1ZGUgPHN5c2xvZy5oPg0KI2luY2x1ZGUgPHVuaXN0ZC5oPg0K I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RkbGliLmg+DQojaW5j bHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8ZmNudGwuaD4NCiNpbmNsdWRl IDxhcnBhL2luZXQuaD4NCg0KI2RlZmluZSBfSU8oYSxiKQ0KI2RlZmluZSBJ U1NFUlZFUg0KI2RlZmluZSBNWV9OQU1FICJuYmRfc2VydmVyIg0KI2luY2x1 ZGUgImNsaXNlcnYuaCINCiN1bmRlZiBfSU8NCi8qIERlZXAgbWFnaWM6IGlv Y3RsLmggZGVmaW5lcyBfSU8gbWFjcm8gKGF0IGxlYXN0IG9uIGxpbnV4KSAq Lw0KDQojaW5jbHVkZSA8c3lzL2lvY3RsLmg+DQojaW5jbHVkZSA8c3lzL21v dW50Lmg+CQkvKiBGb3IgQkxLR0VUU0laRSAqLw0KDQovLyAjZGVmaW5lIERP REJHDQovLyAjZGVmaW5lIERFQlVHKCBhLi4uICkgcHJpbnRmKCBhICkNCiNk ZWZpbmUgREVCVUcoIGEuLi4gKSBkbyB7IH0gd2hpbGUoMCkNCg0KDQppbmxp bmUgdm9pZCByZWFkaXQoaW50IGYsIHZvaWQgKmJ1ZiwgaW50IGxlbikNCnsN CglpbnQgcmVzOw0KCXdoaWxlIChsZW4gPiAwKSB7DQoJCURFQlVHKCIqIik7 DQoJCWlmICgocmVzID0gcmVhZChmLCBidWYsIGxlbikpIDw9IDApDQoJCQll cnIoIlJlYWQgZmFpbGVkOiAlbSIpOw0KCQlsZW4gLT0gcmVzOw0KCQlidWYg Kz0gcmVzOw0KCX0NCn0NCg0KaW5saW5lIHZvaWQgd3JpdGVpdChpbnQgZiwg dm9pZCAqYnVmLCBpbnQgbGVuKQ0Kew0KCWludCByZXM7DQoJd2hpbGUgKGxl biA+IDApIHsNCgkJREVCVUcoIisiKTsNCgkJaWYgKChyZXMgPSB3cml0ZShm LCBidWYsIGxlbikpIDw9IDApDQoJCQllcnIoIldyaXRlIGZhaWxlZDogJW0i KTsNCgkJbGVuIC09IHJlczsNCgkJYnVmICs9IHJlczsNCgl9DQp9DQoNCmlu dCBwb3J0OwkJCS8qIFBvcnQgSSdtIGxpc3RlbmluZyBhdCAqLw0KY2hhciAq ZXhwb3J0bmFtZTsJCS8qIEZpbGUgSSdtIGV4cG9ydGluZyAqLw0KdTY0IGV4 cG9ydHNpemUgPSB+MCwgaHVua3NpemUgPSB+MDsJLyogLi4uYW5kIGl0cyBs ZW5ndGggKi8NCmludCBmbGFncyA9IDA7DQppbnQgZXhwb3J0WzEwMjRdOw0K I2RlZmluZSBGX1JFQURPTkxZIDENCiNkZWZpbmUgRl9NVUxUSUZJTEUgMiAN Cg0Kdm9pZCBjbWRsaW5lKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQoJ aW50IGk7DQoNCglpZiAoYXJnYyA8IDMpIHsNCgkJcHJpbnRmKCJUaGlzIGlz IG5iZC1zZXJ2ZXIgdmVyc2lvbiAiIFZFUlNJT04gIlxuIik7CQ0KCQlwcmlu dGYoIlVzYWdlOiBwb3J0IGZpbGVfdG9fZXhwb3J0IFtzaXplXVtrS21NXSBb LXJdXG4iDQoJCSAgICAgICAiCS1yIHJlYWQgb25seVxuIg0KCQkgICAgICAg IglpZiBwb3J0IGlzIHNldCB0byAwLCBzdGRpbiBpcyB1c2VkIChmb3IgcnVu bmluZyBmcm9tIGluZXRkKVxuIg0KCQkgICAgICAgIglpZiBmaWxlX3RvX2V4 cG9ydCBjb250YWlucyAnJSVzJywgaXQgaXMgc3Vic3RpdHV0ZWQgd2l0aCBJ UFxuIg0KCQkgICAgICAgIgkJYWRkcmVzcyBvZiBtYWNoaW5lIHRyeWluZyB0 byBjb25uZWN0XG4iICk7DQoJCWV4aXQoMCk7DQoJfQ0KCXBvcnQgPSBhdG9p KGFyZ3ZbMV0pOw0KCWZvciAoaSA9IDM7IGkgPCBhcmdjOyBpKyspIHsNCgkJ aWYgKCphcmd2W2ldID09ICctJykgew0KCQkJc3dpdGNoIChhcmd2W2ldWzFd KSB7DQoJCQljYXNlICdyJzoNCgkJCQlmbGFncyB8PSBGX1JFQURPTkxZOw0K CQkJCWJyZWFrOw0KCQkJY2FzZSAnbSc6DQoJCQkJZmxhZ3MgfD0gRl9NVUxU SUZJTEU7DQoJCQkJaHVua3NpemUgPSAxKkdJR0E7DQoJCQkJYnJlYWs7DQoJ CQl9DQoJCX0gZWxzZSB7DQoJCQl1NjQgZXM7DQoJCQlpbnQgbGFzdCA9IHN0 cmxlbihhcmd2W2ldKS0xOw0KCQkJY2hhciBzdWZmaXggPSBhcmd2W2ldW2xh c3RdOw0KCQkJaWYgKHN1ZmZpeCA9PSAnaycgfHwgc3VmZml4ID09ICdLJyB8 fA0KCQkJICAgIHN1ZmZpeCA9PSAnbScgfHwgc3VmZml4ID09ICdNJykNCgkJ CQlhcmd2W2ldW2xhc3RdID0gJ1wwJzsNCgkJCWVzID0gKHU2NClhdG9sKGFy Z3ZbaV0pOw0KCQkJc3dpdGNoIChzdWZmaXgpIHsNCgkJCQljYXNlICdtJzoN CgkJCQljYXNlICdNJzogIGVzIDw8PSAxMDsNCgkJCQljYXNlICdrJzoNCgkJ CQljYXNlICdLJzogIGVzIDw8PSAxMDsNCgkJCQlkZWZhdWx0IDogIGJyZWFr Ow0KCQkJfQ0KCQkJZXhwb3J0c2l6ZSA9IGVzOw0KCQl9DQoJfQ0KDQoJZXhw b3J0bmFtZSA9IGFyZ3ZbMl07DQp9DQoNCmludCBjb25uZWN0bWUoaW50IHBv cnQpDQp7DQoJc3RydWN0IHNvY2thZGRyX2luIGFkZHJpbjsNCglpbnQgYWRk cmlubGVuID0gc2l6ZW9mKGFkZHJpbik7DQoJaW50IG5ldCwgc29jazsNCglp bnQgc2l6ZSA9IDE7DQoNCglpZiAoKHNvY2sgPSBzb2NrZXQoQUZfSU5FVCwg U09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPCAwKQ0KCQllcnIoInNvY2tl dDogJW0iKTsNCgkvLyBTdGVlbEV5ZSBjaGFuZ2UgLSByZXVzZSB0aGUgcG9y dCBudW1iZXINCglpZiAoc2V0c29ja29wdChzb2NrLCBTT0xfU09DS0VULCBT T19SRVVTRUFERFIsICZzaXplLCBzaXplb2YoaW50KSkgPCAwKQ0KCQllcnIo InNldHNvY2tvcHQ6ICVtIik7DQoNCglERUJVRygiV2FpdGluZyBmb3IgY29u bmVjdGlvbnMuLi4gYmluZCwgIik7DQoJYWRkcmluLnNpbl9mYW1pbHkgPSBB Rl9JTkVUOw0KCWFkZHJpbi5zaW5fcG9ydCA9IGh0b25zKHBvcnQpOw0KCWFk ZHJpbi5zaW5fYWRkci5zX2FkZHIgPSAwOw0KCWlmIChiaW5kKHNvY2ssIChz dHJ1Y3Qgc29ja2FkZHIgKikgJmFkZHJpbiwgYWRkcmlubGVuKSA8IDApDQoJ CWVycigiYmluZDogJW0iKTsNCglERUJVRygibGlzdGVuLCAiKTsNCglpZiAo bGlzdGVuKHNvY2ssIDEpIDwgMCkNCgkJZXJyKCJsaXN0ZW46ICVtIik7DQoJ REVCVUcoImFjY2VwdCwgIik7DQoJaWYgKChuZXQgPSBhY2NlcHQoc29jaywg KHN0cnVjdCBzb2NrYWRkciAqKSAmYWRkcmluLCAmYWRkcmlubGVuKSkgPCAw KQ0KCQllcnIoImFjY2VwdDogJW0iKTsNCg0KCXJldHVybiBuZXQ7DQp9DQoN CiNkZWZpbmUgU0VORCB3cml0ZWl0KCBuZXQsICZyZXBseSwgc2l6ZW9mKCBy ZXBseSApKTsNCiNkZWZpbmUgRVJST1IgeyByZXBseS5lcnJvciA9IGh0b25s KC0xKTsgU0VORDsgcmVwbHkuZXJyb3IgPSAwOyBsYXN0cG9pbnQgPSAtMTsg fQ0KDQp1NjQgbGFzdHBvaW50ID0gLTE7DQoNCnZvaWQgbWF5YmVzZWVrKGlu dCBoYW5kbGUsIHU2NCBhKQ0Kew0KCWlmIChhID4gZXhwb3J0c2l6ZSkNCgkJ ZXJyKCJDYW4gbm90IGhhcHBlblxuIik7DQoJaWYgKGxhc3Rwb2ludCAhPSBh KSB7DQoJCWlmIChsc2VlazY0KGhhbmRsZSwgYSwgU0VFS19TRVQpIDwgMCkN CgkJCWVycigiQ2FuIG5vdCBzZWVrIGxvY2FsbHkhXG4iKTsNCgkJbGFzdHBv aW50ID0gYTsNCgl9IGVsc2Ugew0KCQlERUJVRygiQCIpOw0KCX0NCn0NCg0K aW50IGV4cHJlYWQodTY0IGEsIGNoYXIgKmJ1ZiwgaW50IGxlbikNCnsNCglt YXliZXNlZWsoZXhwb3J0W2EvaHVua3NpemVdLCBhJWh1bmtzaXplKTsNCgly ZXR1cm4gKHJlYWQoZXhwb3J0W2EvaHVua3NpemVdLCBidWYsIGxlbikgIT0g bGVuKTsNCn0NCg0KaW50IGV4cHdyaXRlKHU2NCBhLCBjaGFyICpidWYsIGlu dCBsZW4pDQp7DQoJbWF5YmVzZWVrKGV4cG9ydFthL2h1bmtzaXplXSwgYSVo dW5rc2l6ZSk7DQoJcmV0dXJuICh3cml0ZShleHBvcnRbYS9odW5rc2l6ZV0s IGJ1ZiwgbGVuKSAhPSBsZW4pOw0KfQ0KDQppbnQgbWFpbmxvb3AoaW50IG5l dCkNCnsNCglzdHJ1Y3QgbmJkX3JlcXVlc3QgcmVxdWVzdDsNCglzdHJ1Y3Qg bmJkX3JlcGx5IHJlcGx5Ow0KCWNoYXIgemVyb3NbMzAwXTsNCglpbnQgaSA9 IDA7DQoJdTY0IHNpemVfaG9zdDsNCg0KCWJ6ZXJvKHplcm9zLCAyOTApOw0K CWlmICh3cml0ZShuZXQsIElOSVRfUEFTU1dELCA4KSA8IDApDQoJCWVycigi TmVnb3RpYXRpb24gZmFpbGVkOiAlbSIpOw0KCWNsaXNlcnZfbWFnaWMgPSBo dG9ubGwoY2xpc2Vydl9tYWdpYyk7DQoJaWYgKHdyaXRlKG5ldCwgJmNsaXNl cnZfbWFnaWMsIHNpemVvZihjbGlzZXJ2X21hZ2ljKSkgPCAwKQ0KCQllcnIo Ik5lZ290aWF0aW9uIGZhaWxlZDogJW0iKTsNCglzaXplX2hvc3QgPSBodG9u bGwoZXhwb3J0c2l6ZSk7DQoJaWYgKHdyaXRlKG5ldCwgJnNpemVfaG9zdCwg OCkgPCAwKQ0KCQllcnIoIk5lZ290aWF0aW9uIGZhaWxlZDogJW0iKTsNCglp ZiAod3JpdGUobmV0LCB6ZXJvcywgMTI4KSA8IDApDQoJCWVycigiTmVnb3Rp YXRpb24gZmFpbGVkOiAlbSIpOw0KDQoJREVCVUcoIkVudGVyaW5nIHJlcXVl c3QgbG9vcCFcbiIpOw0KCXJlcGx5Lm1hZ2ljID0gaHRvbmwoTkJEX1JFUExZ X01BR0lDKTsNCglyZXBseS5lcnJvciA9IDA7DQoJd2hpbGUgKDEpIHsNCgkJ LyogU3RlZWxFeWUgY2hhbmdlIC0gbmVlZCBkeW5hbWljIGJ1ZmZlciB0byB3 b3JrIHdpdGggZWxldmF0b3IgKi8NCgkJc3RhdGljIGxvbmcgbWF4X25iZF9y ZXF1ZXN0PTEzMTA3MjsgLyogMTI4SyAqLw0KCQlzdGF0aWMgY2hhciAqYnVm PU5VTEw7DQoJCWludCBsZW47DQoNCiNpZmRlZiBET0RCRw0KCQlpKys7DQoJ CXByaW50ZigiJWQ6ICIsIGkpOw0KI2VuZGlmDQoNCgkJcmVhZGl0KG5ldCwg JnJlcXVlc3QsIHNpemVvZihyZXF1ZXN0KSk7DQoJCXJlcXVlc3QuZnJvbSA9 IG50b2hsbChyZXF1ZXN0LmZyb20pOw0KCQlyZXF1ZXN0LnR5cGUgPSBudG9o bChyZXF1ZXN0LnR5cGUpOw0KCQlsZW4gPSBudG9obChyZXF1ZXN0Lmxlbik7 DQoNCgkJaWYgKHJlcXVlc3QubWFnaWMgIT0gaHRvbmwoTkJEX1JFUVVFU1Rf TUFHSUMpKQ0KCQkJZXJyKCJOb3QgZW5vdWdoIG1hZ2ljLiIpOw0KDQoJCURF QlVHKCJyZXF1ZXN0IGxlbjogJWQgYnl0ZXNcbiIsIGxlbik7DQoNCgkJd2hp bGUgKGxlbiA+IG1heF9uYmRfcmVxdWVzdCB8fCAhYnVmKSB7DQoJCQkvKiBT dGVlbEV5ZSBjaGFuZ2UgLSAocmUpYWxsb2NhdGUgdGhlIGJ1ZmZlciAqLw0K CQkJaWYgKGJ1ZikgDQoJCQkJZnJlZShidWYpOw0KCQkJaWYgKGxlbiA+IG1h eF9uYmRfcmVxdWVzdCkgDQoJCQkJbWF4X25iZF9yZXF1ZXN0ID0gbGVuOw0K CQkJYnVmPW1hbGxvYyhtYXhfbmJkX3JlcXVlc3QpOw0KCQkJaWYgKCFidWYp IA0KCQkJCURFQlVHKCJmYWlsZWQgdG8gYWxsb2NhdGUgJWQgYnl0ZSBidWZm ZXJcbiIsIG1heF9uYmRfcmVxdWVzdCk7DQoJCX0NCiNpZmRlZiBET0RCRw0K CQlwcmludGYoIiVzIGZyb20gJWQgKCVkKSBsZW4gJWQsICIsIChyZXF1ZXN0 LnR5cGUgPyAiV1JJVEUiIDogIlJFQUQiKSwNCgkJICAgICAgIChpbnQpIHJl cXVlc3QuZnJvbSwgKGludCkgcmVxdWVzdC5mcm9tIC8gNTEyLCBsZW4pOw0K I2VuZGlmDQoJCW1lbWNweShyZXBseS5oYW5kbGUsIHJlcXVlc3QuaGFuZGxl LCBzaXplb2YocmVwbHkuaGFuZGxlKSk7DQoJCWlmICgoKHJlcXVlc3QuZnJv bSArIGxlbikgPiBleHBvcnRzaXplKSB8fA0KCQkgICAgKChmbGFncyAmIEZf UkVBRE9OTFkpICYmIHJlcXVlc3QudHlwZSkpIHsNCgkJCURFQlVHKCJbUkFO R0UhXSIpOw0KCQkJRVJST1I7DQoJCQljb250aW51ZTsNCgkJfQ0KCQlpZiAo cmVxdWVzdC50eXBlKSB7CS8qIFdSSVRFICovDQoJCQlERUJVRygid3I6IG5l dC0+YnVmLCAiKTsNCgkJCXJlYWRpdChuZXQsIGJ1ZiwgbGVuKTsNCgkJCURF QlVHKCJidWYtPmV4cCwgIik7DQoJCQlpZiAoZXhwd3JpdGUocmVxdWVzdC5m cm9tLCBidWYsIGxlbikpIHsNCgkJCQlERUJVRygiV3JpdGUgZmFpbGVkOiAl bSIgKTsNCgkJCQlFUlJPUjsNCgkJCQljb250aW51ZTsNCgkJCX0NCgkJCWxh c3Rwb2ludCArPSBsZW47DQoJCQlTRU5EOw0KCQkJY29udGludWU7DQoJCX0N CgkJLyogUkVBRCAqLw0KDQoJCURFQlVHKCJleHAtPmJ1ZiwgIik7DQoJCWlm IChleHByZWFkKHJlcXVlc3QuZnJvbSwgYnVmICsgc2l6ZW9mKHN0cnVjdCBu YmRfcmVwbHkpLCBsZW4pKSB7DQoJCSAJbGFzdHBvaW50ID0gLTE7DQoJCQlE RUJVRygiUmVhZCBmYWlsZWQ6ICVtIik7DQoJCQlFUlJPUjsNCgkJCWNvbnRp bnVlOw0KCQl9DQoJCWxhc3Rwb2ludCArPSBsZW47DQoNCgkJREVCVUcoImJ1 Zi0+bmV0LCAiKTsNCgkJbWVtY3B5KGJ1ZiwgJnJlcGx5LCBzaXplb2Yoc3Ry dWN0IG5iZF9yZXBseSkpOw0KCQl3cml0ZWl0KG5ldCwgYnVmLCBsZW4gKyBz aXplb2Yoc3RydWN0IG5iZF9yZXBseSkpOw0KCQlERUJVRygiT0shXG4iKTsN Cgl9DQp9DQoNCmNoYXIgZXhwb3J0bmFtZTJbMTAyNF07DQoNCnZvaWQgc2V0 X3BlZXJuYW1lKGludCBuZXQpDQp7DQoJc3RydWN0IHNvY2thZGRyX2luIGFk ZHJpbjsNCglpbnQgYWRkcmlubGVuID0gc2l6ZW9mKCBhZGRyaW4gKTsNCglj aGFyICpwZWVybmFtZTsNCg0KCWlmIChnZXRwZWVybmFtZSggbmV0LCAoc3Ry dWN0IHNvY2thZGRyICopICZhZGRyaW4sICZhZGRyaW5sZW4gKSA8IDApDQoJ CWVycigiZ2V0c29ja25hbWUgZmFpbGVkOiAlbSIpOw0KCXBlZXJuYW1lID0g aW5ldF9udG9hKGFkZHJpbi5zaW5fYWRkcik7DQoJc3ByaW50ZihleHBvcnRu YW1lMiwgZXhwb3J0bmFtZSwgcGVlcm5hbWUpOw0KDQoJc3lzbG9nKExPR19J TkZPLCAiY29ubmVjdCBmcm9tICVzLCBhc3NpZ25lZCBmaWxlIGlzICVzIiwg cGVlcm5hbWUsIGV4cG9ydG5hbWUyKTsNCn0NCg0KdTY0IHNpemVfYXV0b2Rl dGVjdChpbnQgZXhwb3J0KQ0Kew0KCXU2NCBlczsNCglERUJVRygibG9va2lu ZyBmb3IgZXhwb3J0IHNpemUgd2l0aCBsc2VlayBTRUVLX0VORFxuIik7DQoJ aWYgKChlcyA9IGxzZWVrNjQoZXhwb3J0LCAwLCBTRUVLX0VORCkpID09IE1J TlVTX09ORV82NCB8fCBlcyA9PSAwKSB7DQoJCXN0cnVjdCBzdGF0IHN0YXRf YnVmID0geyAwLCB9IDsNCgkJaW50IGVycm9yOw0KCQlERUJVRygibG9va2lu ZyBmb3IgZXhwb3J0IHNpemUgd2l0aCBmc3RhdFxuIik7DQoJCWlmICgoZXJy b3IgPSBmc3RhdChleHBvcnQsICZzdGF0X2J1ZikpID09IC0xIHx8IHN0YXRf YnVmLnN0X3NpemUgPT0gMCApIHsNCgkJCURFQlVHKCJsb29raW5nIGZvciBl eHBvcnQgc2l6ZSB3aXRoIGlvY3RsIEJMS0dFVFNJWkVcbiIpOw0KI2lmZGVm IEJMS0dFVFNJWkUNCgkJCWlmKGlvY3RsKGV4cG9ydCwgQkxLR0VUU0laRSwg JmVzKSB8fCBlcyA9PSAwKSB7DQojZWxzZQ0KCQkJaWYoMSl7DQojZW5kaWYN CgkJCQllcnIoIkNvdWxkIG5vdCBmaW5kIHNpemUgb2YgZXhwb3J0ZWQgYmxv Y2sgZGV2aWNlOiAlbSIpOw0KCQkJfSBlbHNlIHsNCgkJCQllcyAqPSA1MTI7 IC8qIGFzc3VtZSBibG9ja3NpemUgNTEyICovDQoJCQl9DQoJCX0gZWxzZSB7 DQoJCQllcyA9IHN0YXRfYnVmLnN0X3NpemU7DQoJCX0NCgl9DQoJcmV0dXJu IGVzOw0KfQ0KDQppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQ0K ew0KCWludCBuZXQ7DQoJdTY0IGk7DQoNCglpZiAoc2l6ZW9mKCBzdHJ1Y3Qg bmJkX3JlcXVlc3QgKSE9MjgpDQoJCWVycigiQmFkIHNpemUgb2Ygc3RydWN0 dXJlLiBBbGlnbm1lbnQgcHJvYmxlbXM/Iik7DQoNCglsb2dnaW5nKCk7DQoJ Y21kbGluZShhcmdjLCBhcmd2KTsNCgkNCglpZiAocG9ydCkNCgkJbmV0ID0g Y29ubmVjdG1lKHBvcnQpOw0KCWVsc2UNCgkJbmV0ID0gMDsNCglzZXRfcGVl cm5hbWUobmV0KTsNCg0KCWZvciAoaT0wOyBpPGV4cG9ydHNpemU7IGkrPWh1 bmtzaXplKSB7DQoJCWNoYXIgZXhwb3J0bmFtZTNbMTAyNF07DQoNCgkJc3By aW50ZihleHBvcnRuYW1lMywgZXhwb3J0bmFtZTIsIGkvaHVua3NpemUpOw0K CQlwcmludGYoICJPcGVuaW5nICVzXG4iLCBleHBvcnRuYW1lMyApOw0KCQlp ZiAoKGV4cG9ydFtpL2h1bmtzaXplXSA9IG9wZW4oZXhwb3J0bmFtZTMsIChm bGFncyAmIEZfUkVBRE9OTFkpID8gT19SRE9OTFkgOiBPX1JEV1IpKSA9PSAt MSkNCgkJCWVycigiQ291bGQgbm90IG9wZW4gZXhwb3J0ZWQgZmlsZTogJW0i KTsNCgl9DQoJDQoJaWYgKGV4cG9ydHNpemUgPT0gfjApIHsNCgkJZXhwb3J0 c2l6ZSA9IHNpemVfYXV0b2RldGVjdChleHBvcnRbMF0pOw0KCX0NCglpZiAo ZXhwb3J0c2l6ZSA+ICh+MFVMID4+IDEpKQ0KCQlpZiAoKGV4cG9ydHNpemUg Pj4gMTApID4gKH4wVUwgPj4gMSkpDQoJCQlzeXNsb2coTE9HX0lORk8sICJz aXplIG9mIGV4cG9ydGVkIGZpbGUvZGV2aWNlIGlzICVsdU1CIiwNCgkJCQkg ICAgICAgKHVuc2lnbmVkIGxvbmcpKGV4cG9ydHNpemUgPj4gMjApKTsNCgkJ ZWxzZQ0KCQkJc3lzbG9nKExPR19JTkZPLCAic2l6ZSBvZiBleHBvcnRlZCBm aWxlL2RldmljZSBpcyAlbHVLQiIsDQoJCQkgICAgICAgKHVuc2lnbmVkIGxv bmcpKGV4cG9ydHNpemUgPj4gMTApKTsNCgllbHNlDQoJCXN5c2xvZyhMT0df SU5GTywgInNpemUgb2YgZXhwb3J0ZWQgZmlsZS9kZXZpY2UgaXMgJWx1IiwN CgkJICAgICAgICh1bnNpZ25lZCBsb25nKWV4cG9ydHNpemUpOw0KCXNldG15 c29ja29wdChuZXQpOw0KDQoJbWFpbmxvb3AobmV0KTsNCglyZXR1cm4gMDsN Cn0NCg== --296485894-351917321-1010426025=:5690 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="cliserv.h" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="cliserv.h" LyogVGhpcyBoZWFkZXIgZmlsZSBpcyBzaGFyZWQgYnkgY2xpZW50ICYgc2Vy dmVyLiBUaGV5IHJlYWxseSBoYXZlDQogKiBzb21ldGhpbmcgdG8gc2hhcmUu Li4NCiAqICovDQoNCi8qIENsaWVudC9zZXJ2ZXIgcHJvdG9jb2wgaXMgYXMg Zm9sbG93czoNCiAgIFNlbmQgSU5JVF9QQVNTV0QNCiAgIFNlbmQgNjQtYml0 IGNsaXNlcnZfbWFnaWMNCiAgIFNlbmQgNjQtYml0IHNpemUgb2YgZXhwb3J0 ZWQgZGV2aWNlDQogICBTZW5kIDEyOCBieXRlcyBvZiB6ZXJvcyAocmVzZXJ2 ZWQgZm9yIGZ1dHVyZSB1c2UpDQogKi8NCg0KI2luY2x1ZGUgImNvbmZpZy5o Ig0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQoj aW5jbHVkZSA8bmV0ZGIuaD4NCg0KI2lmIFNJWkVPRl9VTlNJR05FRF9TSE9S VF9JTlQ9PTQNCnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdTMyOw0KI2VsaWYg U0laRU9GX1VOU0lHTkVEX0lOVD09NA0KdHlwZWRlZiB1bnNpZ25lZCBpbnQg dTMyOw0KI2VsaWYgU0laRU9GX1VOU0lHTkVEX0xPTkdfSU5UPT00DQp0eXBl ZGVmIHVuc2lnbmVkIGxvbmcgdTMyOw0KI2Vsc2UNCiNlcnJvciBJIG5lZWQg YXQgbGVhc3Qgc29tZSAzMi1iaXQgdHlwZQ0KI2VuZGlmDQoNCiNpZiBTSVpF T0ZfVU5TSUdORURfSU5UPT04DQp0eXBlZGVmIHVuc2lnbmVkIGludCB1NjQ7 DQojZGVmaW5lIE1JTlVTX09ORV82NCAoLTFVKQ0KI2VsaWYgU0laRU9GX1VO U0lHTkVEX0xPTkdfSU5UPT04DQp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdTY0 Ow0KI2RlZmluZSBNSU5VU19PTkVfNjQgKC0xVUwpDQojZWxpZiBTSVpFT0Zf VU5TSUdORURfTE9OR19MT05HX0lOVD09OA0KdHlwZWRlZiB1bnNpZ25lZCBs b25nIGxvbmcgdTY0Ow0KI2RlZmluZSBNSU5VU19PTkVfNjQgKC0xVUxMKQ0K I2Vsc2UNCiNlcnJvciBJIG5lZWQgYXQgbGVhc3Qgc29tZSA2NC1iaXQgdHlw ZQ0KI2VuZGlmDQoNCiNpbmNsdWRlICJuYmQuaCINCg0KdTY0IGNsaXNlcnZf bWFnaWMgPSAweDAwNDIwMjgxODYxMjUzTEw7DQojZGVmaW5lIElOSVRfUEFT U1dEICJOQkRNQUdJQyINCg0KI2RlZmluZSBJTkZPKGEpIGRvIHsgfSB3aGls ZSgwKQ0KDQp2b2lkIHNldG15c29ja29wdChpbnQgc29jaykNCnsNCglpbnQg c2l6ZSA9IDE7DQojaWYgMA0KCWlmIChzZXRzb2Nrb3B0KHNvY2ssIFNPTF9T T0NLRVQsIFNPX1NOREJVRiwgJnNpemUsIHNpemVvZihpbnQpKSA8IDApDQoJ CSBJTkZPKCIobm8gc29ja29wdC8xOiAlbSkiKTsNCiNlbmRpZg0KCXNpemUg PSAxOw0KCWlmIChzZXRzb2Nrb3B0KHNvY2ssIFNPTF9UQ1AsIFRDUF9OT0RF TEFZLCAmc2l6ZSwgc2l6ZW9mKGludCkpIDwgMCkNCgkJIElORk8oIihubyBz b2Nrb3B0LzI6ICVtKSIpOw0KI2lmIDANCglzaXplID0gMTAyNDsNCglpZiAo c2V0c29ja29wdChzb2NrLCBTT0xfVENQLCBUQ1BfTUFYU0VHLCAmc2l6ZSwg c2l6ZW9mKGludCkpIDwgMCkNCgkJIElORk8oIihubyBzb2Nrb3B0LzM6ICVt KSIpOw0KI2VuZGlmDQp9DQoNCnZvaWQgZXJyKGNvbnN0IGNoYXIgKnMpDQp7 DQoJY29uc3QgaW50IG1heGxlbiA9IDE1MDsNCgljaGFyIHMxW21heGxlbl0s ICpzMjsNCglpbnQgbiA9IDA7DQoNCglzdHJuY3B5KHMxLCBzLCBtYXhsZW4p Ow0KCWlmIChzMiA9IHN0cnN0cihzLCAiJW0iKSkgew0KCQlzdHJjcHkoczEg KyAoczIgLSBzKSwgc3lzX2Vycmxpc3RbZXJybm9dKTsNCgkJczIgKz0gMjsN CgkJc3RyY3B5KHMxICsgc3RybGVuKHMxKSwgczIpOw0KCX0NCgllbHNlIGlm IChzMiA9IHN0cnN0cihzLCAiJWgiKSkgew0KCQlzdHJjcHkoczEgKyAoczIg LSBzKSwgaHN0cmVycm9yKGhfZXJybm8pKTsNCgkJczIgKz0gMjsNCgkJc3Ry Y3B5KHMxICsgc3RybGVuKHMxKSwgczIpOw0KCX0NCg0KCXMxW21heGxlbi0x XSA9ICdcMCc7DQojaWZkZWYgSVNTRVJWRVINCglzeXNsb2coTE9HX0VSUiwg czEpOw0KI2Vsc2UNCglmcHJpbnRmKHN0ZGVyciwgIkVycm9yOiAlc1xuIiwg czEpOw0KI2VuZGlmDQoJZXhpdCgxKTsNCn0NCg0Kdm9pZCBsb2dnaW5nKHZv aWQpDQp7DQojaWZkZWYgSVNTRVJWRVINCglvcGVubG9nKE1ZX05BTUUsIExP R19QSUQsIExPR19EQUVNT04pOw0KI2VuZGlmDQoJc2V0dmJ1ZihzdGRvdXQs IE5VTEwsIF9JT05CRiwgMCk7DQoJc2V0dmJ1ZihzdGRlcnIsIE5VTEwsIF9J T05CRiwgMCk7DQp9DQoNCiNpZmRlZiBXT1JEU19CSUdFTkRJQU4NCnU2NCBu dG9obGwodTY0IGEpDQp7DQoJcmV0dXJuIGE7DQp9DQojZWxzZQ0KdTY0IG50 b2hsbCh1NjQgYSkNCnsNCgl1MzIgbG8gPSBhICYgMHhmZmZmZmZmZjsNCgl1 MzIgaGkgPSBhID4+IDMyVTsNCglsbyA9IG50b2hsKGxvKTsNCgloaSA9IG50 b2hsKGhpKTsNCglyZXR1cm4gKCh1NjQpIGxvKSA8PCAzMlUgfCBoaTsNCn0N CiNlbmRpZg0KI2RlZmluZSBodG9ubGwgbnRvaGxsDQo= --296485894-351917321-1010426025=:5690-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/