Message ID | 1511379391-988-2-git-send-email-rppt@linux.vnet.ibm.com |
---|---|
State | New |
Series | "vm: add a syscall to map a process memory into a pipe" |
Headers | show
Delivered-To: criupatchwork@gmail.com Received: from gmail-imap.l.google.com [64.233.165.109] by patchwork.criu.org with IMAP (fetchmail-6.3.26) for <root@localhost> (single-drop); Wed, 22 Nov 2017 20:59:05 +0100 (CET) Received: by 10.100.247.130 with SMTP id v2csp1124439pjk; Wed, 22 Nov 2017 11:59:01 -0800 (PST) X-Google-Smtp-Source: AGs4zMbnwJqwvRI4Ol+Yhmth992/aZ6DyH+i5mqcDANHcL36JMCT/I8uYv2hlN7pr2slKhndGZgB X-Received: by 10.25.56.16 with SMTP id f16mr6455057lfa.31.1511380741244; Wed, 22 Nov 2017 11:59:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511380741; cv=none; d=google.com; s=arc-20160816; b=Fyumd5SrGQSoyDy/eNJSo721V+Znjg/+r1HOn+oJR34FFrW4yVG8FDgXe2bCoOSnkL C/8JA8HqawFEx5vhTsuqo5IymHj2oPyh5wPiwyd6+QEu71SXaaHDsP2dks6V1r8DG4Mc nmpn9tVEK9sGB+h5txE4kaUm+0YeUJlE1z/u3rrmiZHS0Xw/yS5+K2rjmHkEqQaC9ITq oH5W2smduwxoUTBb/xz6tRt2xCyu0B87QGjrwwaPjAfSA2qUOgZugXl+9bvKDlFbdzCr 5YvJLKTbWHgasNLKLvwfeJsnAV2tLAfaie2NmBHMmveh6WTzarv9+epmboMnsfidaTsf MFjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :cc:spamdiagnosticmetadata:spamdiagnosticoutput:mime-version :message-id:references:in-reply-to:date:to:from :arc-authentication-results; bh=WqbinOyF9mcLk2UJoT7oE5YccJORGvsQzCV188p1iJ4=; b=ZhJTs6K+/iKZoNR6MEbk2e7pFqg9MI6Cu2YrtJvg5ijn/3qDGn0Lvkou3M24LUG+io Mui+df/AMfmzgbsM6W4rAFjPT8ngazKzeAQygyErutYKdR+ECumkcHd6DV1na/Aw8fHs RJOLDsbNU6cgsSfiPVKJITOjoFf7IDP4LHPy8R6uF6FVvTCUfo5llQ7GG2kth4n8SQpK PJ5u2ZUHvgLFcJk3LYBmjvnIdaY247SzlykNT6g5NtdbTyEvY3HlASfpM5CquxSZ3fHB 1yjORqI7xWmXnPMaiMlaXnzoGLmQpv/uw6ncHx+q8trYodHLh4zOZRhS8snIH0jbxeYo eowg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of criu-bounces@openvz.org designates 195.214.232.140 as permitted sender) smtp.mailfrom=criu-bounces@openvz.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: <criu-bounces@openvz.org> Received: from mail.openvz.org (mail.openvz.org. [195.214.232.140]) by mx.google.com with ESMTPS id 34si5769122lft.11.2017.11.22.11.59.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Nov 2017 11:59:01 -0800 (PST) Received-SPF: pass (google.com: domain of criu-bounces@openvz.org designates 195.214.232.140 as permitted sender) client-ip=195.214.232.140; Authentication-Results: mx.google.com; spf=pass (google.com: domain of criu-bounces@openvz.org designates 195.214.232.140 as permitted sender) smtp.mailfrom=criu-bounces@openvz.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id vAMJsMcF022980; Wed, 22 Nov 2017 22:56:43 +0300 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp0239.outbound.protection.outlook.com [213.199.154.239]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id vAMJc1eo022638 for <criu@openvz.org>; Wed, 22 Nov 2017 22:38:01 +0300 Received: from DB6PR0801CA0030.eurprd08.prod.outlook.com (2603:10a6:4:2::40) by AM5PR0801MB1875.eurprd08.prod.outlook.com (2603:10a6:203:49::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.260.4; Wed, 22 Nov 2017 19:37:50 +0000 Received: from VE1EUR01FT007.eop-EUR01.prod.protection.outlook.com (2a01:111:f400:7e01::201) by DB6PR0801CA0030.outlook.office365.com (2603:10a6:4:2::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.239.5 via Frontend Transport; Wed, 22 Nov 2017 19:37:50 +0000 Authentication-Results: spf=none (sender IP is 148.163.156.1) smtp.mailfrom=linux.vnet.ibm.com; openvz.org; dkim=none (message not signed) header.d=none;openvz.org; dmarc=fail action=none header.from=linux.vnet.ibm.com; Received-SPF: None (protection.outlook.com: linux.vnet.ibm.com does not designate permitted sender hosts) Received: from mx0a-001b2d01.pphosted.com (148.163.156.1) by VE1EUR01FT007.mail.protection.outlook.com (10.152.2.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.218.12 via Frontend Transport; Wed, 22 Nov 2017 19:37:48 +0000 Received: from pps.filterd (m0098396.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id vAMJanRW045187 for <criu@openvz.org>; Wed, 22 Nov 2017 14:37:46 -0500 Received: from e06smtp14.uk.ibm.com (e06smtp14.uk.ibm.com [195.75.94.110]) by mx0a-001b2d01.pphosted.com with ESMTP id 2edevrj5np-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for <criu@openvz.org>; Wed, 22 Nov 2017 14:37:45 -0500 Received: from localhost by e06smtp14.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for <criu@openvz.org> from <rppt@linux.vnet.ibm.com>; Wed, 22 Nov 2017 19:37:43 -0000 Received: from b06cxnps3074.portsmouth.uk.ibm.com (9.149.109.194) by e06smtp14.uk.ibm.com (192.168.101.144) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 22 Nov 2017 19:37:38 -0000 Received: from d06av22.portsmouth.uk.ibm.com (d06av22.portsmouth.uk.ibm.com [9.149.105.58]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id vAMJbbF428246138; Wed, 22 Nov 2017 19:37:37 GMT Received: from d06av22.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A45054C04E; Wed, 22 Nov 2017 19:32:41 +0000 (GMT) Received: from d06av22.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 582034C040; Wed, 22 Nov 2017 19:32:39 +0000 (GMT) Received: from rapoport-lnx (unknown [9.148.204.194]) by d06av22.portsmouth.uk.ibm.com (Postfix) with ESMTPS; Wed, 22 Nov 2017 19:32:39 +0000 (GMT) Received: by rapoport-lnx (sSMTP sendmail emulation); Wed, 22 Nov 2017 21:37:34 +0200 From: Mike Rapoport <rppt@linux.vnet.ibm.com> To: Andrew Morton <akpm@linux-foundation.org>, Alexander Viro <viro@zeniv.linux.org.uk> Date: Wed, 22 Nov 2017 21:36:28 +0200 X-Mailer: git-send-email 2.7.4 In-Reply-To: <1511379391-988-1-git-send-email-rppt@linux.vnet.ibm.com> References: <1511379391-988-1-git-send-email-rppt@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 17112219-0016-0000-0000-000005047AE5 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17112219-0017-0000-0000-000028404D14 Message-ID: <1511379391-988-2-git-send-email-rppt@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-11-22_05:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1711220258 X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:0 X-Forefront-Antispam-Report: CIP:148.163.156.1; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(6009001)(8156002)(2990300002)(428002)(199003)(3452003)(189002)(54906003)(6666003)(105586002)(46656002)(50466002)(246002)(16003)(8676002)(5660300001)(4326008)(50226002)(2950100002)(356003)(42882006)(189998001)(101346004)(47776003)(33646002)(1096003)(7636002)(305945005)(5003940100001)(106466001)(48376002)(101416001)(110136005)(42186006)(7596002)(16586007)(86362001)(50986999)(76176999)(42262002); DIR:INB; SFP:; SCL:1; SRVR:AM5PR0801MB1875; H:mx0a-001b2d01.pphosted.com; FPR:; SPF:None; PTR:mx0a-001b2d01.pphosted.com; A:0; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; VE1EUR01FT007; 1:x+RdVn6WIz7FeQ3YLu+zYBpJ/9QvUM4zFm+ID7XSppvlD7f94m4G7W/mqbjuMF7KQQt140VCpeErsjvw8YAsbwViGbuMIulf2d3iQyBfsfB6/PF4YrXMo35H/JCXjI/z MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 267dee18-9641-436e-0af2-08d531e083c5 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(23075)(3010002)(4534020)(121220051038)(121220052038)(121220053038)(71702078); SRVR:AM5PR0801MB1875; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1875; 3:kO9XKEaPEHmabOZNSYWpGbJD0YiVKKmcUdLQBAeSxtkukdEf982wXlQyxmRam/6p3tB6PySLheOSStbS9b2pQB6UjH6IcC3t3y5ntph8dzM9iyiSsLNT/jhnHPmcd0n1uzv+6erJ/Lm/7Oawo9tpG7hU027ZGbi9H3G+/Sz5kCLP+prhnaZXR//WdV20cUGJH1baNpfX3E0ALazyR5dp6OQ4Vh5GnV9s8GT8OBgNmff5LdJgXzOySF+7eTCeC5mmaPMAZpV/n370LqhpO23RiHD4yyFfthi4BwEhblZt2j4HsssXcrke70CS+uA35dv6CEhBK7tq/haZMnybnb6JRMnGuos59+/9svkl7PMEYRk=; 25:pRAS3CaTpmfwdTWUjTK3BXZOA4UsdVZEbxi37R4dR7A7/ReZ4E8Y2F5x04F5ll2WSCCI9NnpeoKXas0k2PAxuFoZkmzQg6K5EOMDYoZaoM+hZh3WtSzxx148bDszh3AIYmVLZpGPakpVU2Be0gY4jOXlottZERWmmud4VVhq9RRLJX13gbP3r+jMhK80WFuyz1GdOGKFL7/nSSpfJVr8kkOlsiwSEiX3FSahhXkTjR2NdHr/WlgihEp7L0FrHCKQyCWWujXYLYccKr4QH2A1ysmB2jgwWbdBWk6/szF+15tsf1xwk0YZFck2dMbxwRdT52pYmZdj3+A2hktSaulYiQ== X-MS-TrafficTypeDiagnostic: AM5PR0801MB1875: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1875; 31:Vht0dXjL2PTHtlelDV0pToXH3ZqElYdBHlRA3PzLOI6M2NwdTR2hx5bK46BxjCnZ8JcoLDLWUPpRW8ckYHbgg13lZdaTwREAtD4/k5njXDRBWJi5Aq9ZM5lLOiem0+udS4+/PShSzaapQEDc2JcmDpYYSLSchNBa+pwTUROrfyz1TWcn0AhqGSXKjtEwOL8HFqcLu7UeCIIZhAGVLgpBhZBMk3fizJi5pI/Akn+LdPY=; 20:x6ZJ6t4sDjG+GD6xRBIfUWupIIqY65hzGXuyqUQz89kdnuRY+eDzHJ635eTNTSxCUwrKIzosfBNB7GKOIYRy+ILUnO99YH+6HE1zRv1ESVpakmxIPe1BCnTy6CXmGqcNA+wiUZK+5ebX0f0Sfpj3dFRKcNJIBuRKLVk5tllO0kIsTRpsz1SQVYPBPf5LTDEkLkpYs0ujUQqiJqI4RNsEI6dEfQa5yABfiFMRVyKewcbCqlL8T6lTrG8TYc9wm5jWwHHZuVkJOVpkNRA4MVRNo7VAjqdgtAEsNThEpD4CUgHTSw7h/yvqN/bVbuJ+NMcC6ZYEepGFfi+GDGMgi7EyQbxUSNy3bTns1hkoP5W2YAJAm1Eyj6mNjtnPrbcJbW/o6HX+HyLlmQMtKtm8HpQdB612fIA7M7DOxzsIpZHm61Y= X-Exchange-Antispam-Report-Test: UriScan:(104084551191319); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(2401047)(8121501046)(9101536074)(3231022)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93003095)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1875; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1875; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1875; 4:ED9jFhQsD8Oy9TERnPN/rkJYP26RrMgzVGfVxHpzZodbK3FDeoVBmatnUYIhlQFqpIZQCinZJhYdXbJjaIQLN55lIFuCxNk2Vf4Sr3A5bl1zOOFMC5SaV9hXL1cBMqAO/fYbKFM0GVvoFBQsf1zBsMXG1CryleZoz1eborl2y32CFxh85an4PyshwcpoDkSxfdYzx0ywcYuPnGMddxDzbWyaoLdMTECGSa5Pr8ofe4/+bUfQutfEaGoRgXSfUKEtjoogRZh4jE/NWHvERwI39Nl6va2LkuAvReGP0h56wikHMxapaHzEUtysXZH3y9dT X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1875; 23:a8gBC5uM67JGFEho968cacwvnwM3A4W9iXj5gjW1/HmQZxz30M2NmO1k918hfTjW5w1Vx5i6jLJDoLbdXz5dWw/EsJwBghS5StTv+tYUCPzbKW9zB2wgQd/nSAf+vrm6WoZ/BuVqByLcF43hZiPSXo+RclZrdcvHGn908phJEPPIC1iqodM/WOdXom4+RcWn0bKqXZl6+SWNfSeDZIVLtM+4xn2QsDAyTVlAQI7uvl1HURwk+GLw0lzQZnr97PjUfsPrOrYmz7weXiNjpRoXZl/bDJEafcyJD9zSJ7S66Jv8dobpPewZ2YSHf1ZrD/Gmx82b4aCtKcpKaz4c/mE48hp0qYa9qTgnyb4Q3T+6JTHTadSbnPnTjrkdthS2GD4Tvfzv4fxVsiFJqhJDsSVRClLt8SiAyHrfWjlGanIkXhIKzzKu9R0eNvCI+omCfIMjiGWdDGSKNsIs/AXvH5hDXI74i5cI9b6iqtJxBvorisvEobhfRIonBqPYyJDsa4SKtz0Mn4m/MXOtEpR7u5G5JX2iL1W7uS3YNcNkimP+c6to73nHSMXYwEM7yhHt/Ayt+FgKRuBeBw6edNOPJ6SPhAKP8npREH2aWGOfgnT9eRyyCoNJFTfoiZDfi34Ujf6oVAujVBAaqgC00Hug9Yomm+ttwfJIRzO6ELfWBtZZw5vqMjwA++KBkLBVTXrGOTNba9HVW36RczPbMFhnMhiEak6pXv+IklvWBMb/7axTHmk/UFU0af9+NtFwcZWyuecT142FCBC0derYSziqWULhMdhkrGj5Gwas07aJYUdwGnIPhLHlj8Ml8mDjkjGscsiGcm8SHXGT+rh6b+Zsnq4RBLvIY1xJHWuJ7RGkaw3PTkx/WadmmUNxMbRl0OQpO0KxzxAcqZFsiClnksLzYSa+FWzQYAo5+m+Rm/pgZYp4jD5ngzbx7uUTYx2mKmfwQ3bU X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1875; 6:irJHmyeIl2lDMM1VfpIHb1Ogv0BVZPkki3B7cNP1kY/bq2BzdoVENL+5O1I+50smLZ1dkieHgqYYIsEGnp7r+Eajv7ZYPrCDjjBafPjyZ2oDPyz1AiF3E5yjSH+9CsfxPkkgbrkzcWwkjrWvTuGY+PZBg3EpmgDp9g2pfY6UA+YovF+RWSnjRqYkN4McL19ptmMhdC2peK9qbHYV076NlG4n+pvH/SvF6nZGHmsRjNrIEK/1TJgtJ1uraqJ8fJm0zR8FNS0u4jd70uZTZO/aFm8XXl81RkZZ+HzhlG/2LVJQS2nu+5Xd3FstnhU8WHVFZSnwWF47CA9FsonAOxd1aisu83UTe0js1x1RJOJX+QE=; 5:TjB9zdEt9k3jhqcll5xbXoxfo2rYmusNEtktYunr5bJrHygJ6HsEUwDM7CAIejvq7lMQLMEJf+CP56uZpIi5E6AxuaKtwXsYM0UKdSEaMMAT97eNcY9Zx7GI3FMT80HBtjZ6WsLzjIUiCMIFjroM3XJf85FiLcNYLovXbXVgdzo=; 24:/fOPcJxbi536AObkxm2b2ovXd8zwsU76WU2HDwa02HrJyIuIj30/eCQ2vQLdzAzDAR4pOG6Zdjy8nlvvnpOAEN58MtxA/MgYk06CGJGwaUc=; 7:SKuvsxs9DLQ4afhpT6VJuvvw9+qpiRR6am7AnnpH5Jj9ug7D86f9ezvA2YFV0WSkSvukmsavUVRrsyl2tO2+RmOv5oi43UNv6mSNabjmYWzLGITuk3TzT3llxM/jXqwVe1jQ8srO7iKKXurEqq3uvz7Ayly7T40lVMeYCathIY81Oy3D2KVM4SxhTsaqG1EgtcCa5uC9mSCp9mYbtJGBqtWUReX+BKLNWpYfdVSq9b0qrzwu6Z7l5KuHp17EW7+5 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1875; 20:dKDnTd9ml0zvGGNXjnhKXD7FeKWvma7Xd55nDsVDnnWwV1AjOXXy6Y5cS4DQJxPptAP7kcatdzRylfc68i8u3PXVF4/BXVjQ7R3vkAI4amRqctkn0kIF907epXCJdyUKNjPmBgPGIM6o8HmTGsUc8XeD0e6V9EkPHfu8hqE5eds= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2017 19:37:48.1425 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 267dee18-9641-436e-0af2-08d531e083c5 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1875 X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 148.163.156.1 X-MS-Exchange-CrossPremises-AuthSource: VE1EUR01FT007.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossPremises-AuthAs: Anonymous X-MS-Exchange-CrossPremises-TransportTrafficType: Email X-MS-Exchange-CrossPremises-TransportTrafficSubType: X-MS-Exchange-CrossPremises-SCL: 1 X-MS-Exchange-CrossPremises-Antispam-ScanContext: DIR:Incoming; SFV:NSPM; SKIP:0; X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent X-OrganizationHeadersPreserved: AM5PR0801MB1875.eurprd08.prod.outlook.com Cc: Arnd Bergmann <arnd@arndb.de>, Jann Horn <jannh@google.com>, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, Josh Triplett <josh@joshtriplett.org>, criu@openvz.org, linux-mm@kvack.org, Michael Kerrisk <mtk.manpages@gmail.com>, linux-fsdevel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>, Pavel Emelyanov <xemul@virtuozzo.com> Subject: [CRIU] [PATCH v3 1/4] fs/splice: introduce pages_to_pipe helper X-BeenThere: criu@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: CRIU development <criu.openvz.org> List-Unsubscribe: <https://lists.openvz.org/mailman/options/criu>, <mailto:criu-request@openvz.org?subject=unsubscribe> List-Archive: <http://lists.openvz.org/pipermail/criu/> List-Post: <mailto:criu@openvz.org> List-Help: <mailto:criu-request@openvz.org?subject=help> List-Subscribe: <https://lists.openvz.org/mailman/listinfo/criu>, <mailto:criu-request@openvz.org?subject=subscribe> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: criu-bounces@openvz.org Errors-To: criu-bounces@openvz.org |
diff --git a/fs/splice.c b/fs/splice.c index 39e2dc0..7f1ffc5 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -1185,6 +1185,36 @@ static long do_splice(struct file *in, loff_t __user *off_in, return -EINVAL; } +static int pages_to_pipe(struct page **pages, struct pipe_inode_info *pipe, + struct pipe_buffer *buf, size_t *total, + ssize_t copied, size_t start) +{ + bool failed = false; + size_t len = 0; + int ret = 0; + int n; + + for (n = 0; copied; n++, start = 0) { + int size = min_t(int, copied, PAGE_SIZE - start); + if (!failed) { + buf->page = pages[n]; + buf->offset = start; + buf->len = size; + ret = add_to_pipe(pipe, buf); + if (unlikely(ret < 0)) + failed = true; + else + len += ret; + } else { + put_page(pages[n]); + } + copied -= size; + } + + *total += len; + return failed ? ret : len; +} + static int iter_to_pipe(struct iov_iter *from, struct pipe_inode_info *pipe, unsigned flags) @@ -1195,13 +1225,11 @@ static int iter_to_pipe(struct iov_iter *from, }; size_t total = 0; int ret = 0; - bool failed = false; - while (iov_iter_count(from) && !failed) { + while (iov_iter_count(from)) { struct page *pages[16]; ssize_t copied; size_t start; - int n; copied = iov_iter_get_pages(from, pages, ~0UL, 16, &start); if (copied <= 0) { @@ -1209,24 +1237,11 @@ static int iter_to_pipe(struct iov_iter *from, break; } - for (n = 0; copied; n++, start = 0) { - int size = min_t(int, copied, PAGE_SIZE - start); - if (!failed) { - buf.page = pages[n]; - buf.offset = start; - buf.len = size; - ret = add_to_pipe(pipe, &buf); - if (unlikely(ret < 0)) { - failed = true; - } else { - iov_iter_advance(from, ret); - total += ret; - } - } else { - put_page(pages[n]); - } - copied -= size; - } + ret = pages_to_pipe(pages, pipe, &buf, &total, copied, start); + if (unlikely(ret < 0)) + break; + + iov_iter_advance(from, ret); } return total ? total : ret; }
Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com> --- fs/splice.c | 57 ++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 21 deletions(-)