Message ID | 147640829681.16351.15066476241299108133.stgit@maxim-thinkpad |
---|---|
State | New |
Series | "fuse: process small sync direct reads synchronously" |
Headers | show
Delivered-To: criupatchwork@gmail.com Received: from gmail-imap.l.google.com [74.125.25.109] by patchwork.criu.org with IMAP (fetchmail-6.3.26) for <root@localhost> (single-drop); Fri, 14 Oct 2016 03:27:57 +0200 (CEST) Received: by 10.37.214.196 with SMTP id n187csp32652ybg; Thu, 13 Oct 2016 18:27:53 -0700 (PDT) X-Received: by 10.36.65.144 with SMTP id b16mr9294303itd.38.1476408473821; Thu, 13 Oct 2016 18:27:53 -0700 (PDT) Return-Path: <devel-bounces@openvz.org> Received: from mail.openvz.org (mail.openvz.org. [199.115.104.192]) by mx.google.com with ESMTPS id 128si9896276ith.123.2016.10.13.18.27.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Oct 2016 18:27:53 -0700 (PDT) Received-SPF: pass (google.com: domain of devel-bounces@openvz.org designates 199.115.104.192 as permitted sender) client-ip=199.115.104.192; Authentication-Results: mx.google.com; spf=pass (google.com: domain of devel-bounces@openvz.org designates 199.115.104.192 as permitted sender) smtp.mailfrom=devel-bounces@openvz.org; dmarc=fail (p=NONE dis=NONE) header.from=virtuozzo.com Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id u9E1PRDh029820; Thu, 13 Oct 2016 18:25:40 -0700 Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-ve1eur03lp0151.outbound.protection.outlook.com [213.199.154.151]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id u9E1PMKF029810 for <devel@openvz.org>; Thu, 13 Oct 2016 18:25:23 -0700 Authentication-Results: virtuozzo.com; dkim=none (message not signed) header.d=none;virtuozzo.com; dmarc=none action=none header.from=virtuozzo.com; Received: from [10.161.30.31] (162.246.95.100) by AM5PR0801MB1844.eurprd08.prod.outlook.com (10.169.247.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.11; Fri, 14 Oct 2016 01:25:20 +0000 From: Maxim Patlasov <mpatlasov@virtuozzo.com> To: <khorenko@virtuozzo.com> Date: Thu, 13 Oct 2016 18:25:09 -0700 Message-ID: <147640829681.16351.15066476241299108133.stgit@maxim-thinkpad> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Originating-IP: [162.246.95.100] X-ClientProxiedBy: BLUPR17CA0010.namprd17.prod.outlook.com (10.164.14.148) To AM5PR0801MB1844.eurprd08.prod.outlook.com (10.169.247.149) X-MS-Office365-Filtering-Correlation-Id: 8975c532-4c66-4446-13ab-08d3f3d0f736 X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1844; 2:HrQkykuirNPTBFsRGArqEjUxOjA0tOaJRnvu/WvHq5mHwTNuf1QdssW7303Q51ylc5ibVRxppIeQjlv2mHK+cCm/K7Qi6m/wLx8xGSwx9A51jQtAfTH1IytOjrcKCNuhEWBBPjPYrNwiX8ClZqTBkRJZTXgrGPPwlBfdwVx0gTzaXem9Pr87sLHrMvm7O4NyRVHc9MD/2TAhCMpp/yTMQw==; 3:s9JwCEhvX1Ktnr1kNcHE1cuztAXtG3cZY4ZHPryTmVwg9FpCmm2qlhbPrgzOlyEP5ZHcWKEieL/6UKcnLt6bCkHKSzXB/eDU88nV/VzvoHGJNZrmMn27Emz4Bcq3qqpbGKYkErDxoOpTbTJjMxqxcA==; 25:5xiS2Aso8Kj33aX6f+xfZ5SPEbKzqdaoZcodYdtp2wAenG8TJpBXA8EptjhETiM24yhkHw0oPM7ycd5z+upTWIRjNbn4Oizp2K67bYLnrucpTJK/nWObe5GeYCD1xDa7w61xUOVYE+gqG+L+lj0t1QUwvRCA9Wt9lpyzw9C2/plcuF1k2XO+HEYXjJnMM0Ymz4NH1qTdoZZokblb/UzQS7alcgKajM1ML2bYrP8Ga1OPZ6ibccVHcj0EAfwz0PDtPLsj3mMvZTAC9KnP2NYbgF4Sk1JfO7m7u8EeNiAsTANa7mgXLuNf162ISSENV1gABNRLwxr4SNV0o8aXt2VqDbM+7q3Cbj4EZvXkRb1zN8+C5wbPe+bCbQCabDiaI7LcAuKBj1CD05R93br4xVbhmZg+NljbuZD1CjqqnIIY/pinmGDIiolgDuvI5I0ByR7o X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0801MB1844; X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1844; 31:TDLSR+b9/Stu9FarZTeRb3DRLG8PbtQ4FXJw8tvEG+FAyVBBmRilRl5g0Qd+SNIvYje+dCBj9tO5L1BXxbPMSASVluEm8aguZ0EqH/IcUpnh0/ieYFdlIydcSlgyxGR2F+aSJOUL0GuUA3yRzMtBFx7fXAXA596orhB7pt+aXCPccwckNCpqwGAUMbyvMCtGSUKHH4GE3h1wb8ww/pQCbD7kv9/n0fyBqjbYSHSkLzHCZXMfjlMjOan0OqmNfKz6; 4:yEhMlaLqy5Rthhx5lX+3aJR5ZSG+chR5YbRvu3i+7GXb1YYvphk382Vs2J5WjnkBe+zE9gng/TqnvbJxZ/MP8Ni82M9/fUxaKVhJ0qeoDJQNAKEhN8JMe28AYQg7GuyBUBoCGaC+RFRlruUsSr+ckbHKtug2h6YvTNxHvLaWXrf2E/wcfnjvkwjVVfKgVLcEtkncbTgQzoBZHL1kMt8PfDN3LrTHE66KGtWPpKI7SnEFH6ecTURSOb8r3Z9yTNn0khGnr3NGN3VnrbKNc0omru3qn5uSRIgWkmO6782MsGlM1BJTnwrUAYxHMRX/8LMjpbns+PDVr6YtGjL/ZknekqSsDEyHAYCKCjhxwhbh+kHbBOuLLy+3w1IetMKuhseXlfmCcxAYot864KtKbFSkWQ==; 23:dTrOmG/QIMJuDO4WsNEha7gJL6l8nBpCbiKWJrt9U68xdZLHSTIWikx5dCyLGZdwB4aOCXoj0vrIAnr/102DKmJhxkE6IqpRdfiMbP9mso34Nj0/tDhYld5WxK/LF20S3gFHMzoEDiFmoh3aCmqchDqM/Vnmxd0VKLq8+Xm45Fe8fvxB/IpPWADwlMlzKz6z X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(9101524098)(601004)(2401047)(8121501046)(3002001)(10201501046); SRVR:AM5PR0801MB1844; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0801MB1844; X-Forefront-Antispam-Report: SFV:SKI; SFS:; DIR:INB; SFP:; SCL:-1; SRVR:AM5PR0801MB1844; H:[10.161.30.31]; FPR:; SPF:None; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1844; 6:P2rgLM82H2UqcISpTCd0vegm1n6PrfwczKuHtr81QehIjzcdoeXB0qvw9nu8TR0ZAY0OiJOYj2G6SXD+gnLqbOXQId0A8ZIWKFnJXwz8tcO+56fXAVcDwcxhhKBpPYalGkZHd0knHw0YMgn4eWGpH8bIYm9/jw0QztkIH61PIAKWkWaouus5f/9tHa9Is9dX00uAuQWkmjcPo+uGqlS68G+Se7IojhuZU/0+cYaouhVWyYfjEMLfwT/nV3WixU5CXu888dVFBPWq45hwsmmC/TrqffeUaJmAdnljLOsxf91NqTVdIyeNWcawvpXDuKqz; 5:M09fL7uwwLkrhzScHOkYucEHjE6mmT8PKgtb4qYfngzEHYpszhbSNigrNmQnPigSnEKVizYQ2NsV33ARgUsuDWPWqV8mPIJDXnf5TK/y5RD2NA3AIvgg+ACrwf40Y0Z8JecoWS02cNI/RgNsgvI3FQ==; 24:0ikiHHhUUk+5tu6yVH8X3BwtAwR2/iATs3X6Cg/Gu6YayCXditc6+GkCzJouajfC8+uVNnFygBaSbYJgWctxm0u2PYSh/L2b1lbYMBQfciU=; 7:JcXGuZ7FGGOGJPAH8SUIEDtyPMdMryPRK8VcgVT2MCaBXhi8goCPYiGaCqHqW2ugV/1sbETQYkb+Pun5D+i6IonazX3Y2zAnhuXVRhon94dmzkZBSQmqEg4C7gPv/j7kiOqm5dmpWyTW0Ny+03psCkT7bSJWdbe2g4JrRLnaAYmX92Z6kKMsfLuaUtDIs4ZUKuLZwOm9aTGLG5/yMM4PxKxNmqkgd7q7CUEyV2BZL7+ePx7muE7nPFe4zaivLg42AtUwEBJ1h2yIr4Z054EPkbTIKRZ9XjcBBRCt3yA7kkaUjVnhifc1hegW9qpb8Wi/lKSe/L6KfkrTUvlhKoLbcJnZCPubRrXjXbISrOYJclQ= SpamDiagnosticOutput: 1:0 X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1844; 20:qkeaTYq9NatIvrBdiGIyP/GGUa1giT7vuDPML30mvfJWziKGzcQ5ouYnGjm92eaHPPtDJPwOYQWFp6dvYyzkewO2okLci2ZNEBm0AL809y+KHkde+PsVJub+O8Y7QsiyRPDjQa03BMtz7uGsX6Ba7/CwiJfsxjvyGTYH/gg0AcA= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2016 01:25:20.4305 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1844 X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 162.246.95.100 X-MS-Exchange-CrossPremises-AuthSource: AM5PR0801MB1844.eurprd08.prod.outlook.com X-MS-Exchange-CrossPremises-AuthAs: Internal X-MS-Exchange-CrossPremises-AuthMechanism: 06 X-MS-Exchange-CrossPremises-AVStamp-Service: 1.0 X-MS-Exchange-CrossPremises-SCL: -1 X-MS-Exchange-CrossPremises-Antispam-ScanContext: DIR:Originating; SFV:SKI; SKIP:0; X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent X-OrganizationHeadersPreserved: AM5PR0801MB1844.eurprd08.prod.outlook.com Cc: vzlin-dev@sw.ru, devel@openvz.org, kuznet@virtuozzo.com Subject: [Devel] [PATCH rh7] fuse: process small sync direct reads synchronously X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development <devel.openvz.org> List-Unsubscribe: <https://lists.openvz.org/mailman/options/devel>, <mailto:devel-request@openvz.org?subject=unsubscribe> List-Archive: <http://lists.openvz.org/pipermail/devel/> List-Post: <mailto:devel@openvz.org> List-Help: <mailto:devel-request@openvz.org?subject=help> List-Subscribe: <https://lists.openvz.org/mailman/listinfo/devel>, <mailto:devel-request@openvz.org?subject=subscribe> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org |
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 6b9e4ea..49ee3de 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -3307,8 +3307,11 @@ fuse_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, * We cannot asynchronously extend the size of a file. We have no method * to wait on real async I/O requests, so we must submit this request * synchronously. + * And it's useless to process small sync READs asynchronously. */ - if (!is_sync_kiocb(iocb) && (offset + count > i_size) && rw == WRITE) + if ((!is_sync_kiocb(iocb) && (offset + count > i_size) && rw == WRITE) || + (rw != WRITE && is_sync_kiocb(iocb) && + count <= (FUSE_MAX_PAGES_PER_REQ << PAGE_SHIFT))) io->async = false; if (rw == WRITE)