From patchwork Wed Dec 14 21:28:46 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Schumaker, Anna" X-Patchwork-Id: 9486841 X-Mozilla-Keys: nonjunk Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on sandeen.net X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.0 X-Spam-HP: BAYES_00=-1.9, DKIM_SIGNED=0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5,RP_MATCHES_RCVD=-0.1,T_DKIM_INVALID=0.01 X-Original-To: sandeen@sandeen.net Delivered-To: sandeen@sandeen.net Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by sandeen.net (Postfix) with ESMTP id CA13187 for ; Wed, 14 Dec 2016 15:32:16 -0600 (CST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752866AbcLNVcR (ORCPT ); Wed, 14 Dec 2016 16:32:17 -0500 Received: from mx141.netapp.com ([216.240.21.12]:9155 "EHLO mx141.netapp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753398AbcLNVcP (ORCPT ); Wed, 14 Dec 2016 16:32:15 -0500 X-IronPort-AV: E=Sophos;i="5.33,348,1477983600"; d="scan'208";a="169902414" Received: from hioexcmbx02-prd.hq.netapp.com ([10.122.105.35]) by mx141-out.netapp.com with ESMTP; 14 Dec 2016 13:26:34 -0800 Received: from VMWEXCCAS04-PRD.hq.netapp.com (10.122.105.20) by hioexcmbx02-prd.hq.netapp.com (10.122.105.35) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 14 Dec 2016 13:29:02 -0800 Received: from NAM02-CY1-obe.outbound.protection.outlook.com (10.120.60.153) by VMWEXCCAS04-PRD.hq.netapp.com (10.122.105.20) with Microsoft SMTP Server (TLS) id 15.0.1210.3 via Frontend Transport; Wed, 14 Dec 2016 13:29:01 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.onmicrosoft.com; s=selector1-netapp-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=8/VRvoAW8Vw4e7UoRgRdR3TB/1YJHc0F/uNNuFG0TNQ=; b=BuC2pipJnHwyBdV9iuX66/WS9WSAcHXf3z2ya3yHhrZqN7phuZsSECpKugTcBwvHoK4o5wR2kpPAgyHBzCzEXzE2iCP6moGVMJEHgGO4E8GSRLgS4oERKjiyfjV9/dfj3vX1l+emVoWkAEruMoWCUiYXmrJXZK1gu47j1wiVBfE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Anna.Schumaker@netapp.com; Received: from gouda.nowheycreamery.com.nowheycreamery.com (68.40.193.183) by BY2PR0601MB1640.namprd06.prod.outlook.com (10.163.107.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.771.8; Wed, 14 Dec 2016 21:29:00 +0000 From: Anna Schumaker To: CC: Subject: [PATCH v2] xfs_io: Improvements to copy_range return code handling Date: Wed, 14 Dec 2016 16:28:46 -0500 Message-ID: <20161214212846.22198-1-Anna.Schumaker@Netapp.com> X-Mailer: git-send-email 2.10.2 MIME-Version: 1.0 X-Originating-IP: [68.40.193.183] X-ClientProxiedBy: BLUPR14CA0002.namprd14.prod.outlook.com (10.163.77.140) To BY2PR0601MB1640.namprd06.prod.outlook.com (10.163.107.18) X-MS-Office365-Filtering-Correlation-Id: d1861f96-6914-4507-868d-08d424683895 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY2PR0601MB1640; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0601MB1640; 3:2y6GkV7gBEyJnl60BmKGAbSx26qxdPohxc2D3ucUlrm1tBX+Jw7+niGyZaZYF7crSirMJYe1kutLtfBjAfbR6E2Zzljit2RGQH2CkFOayfU8475TwN7lUIM1xF6GslJLRjd6IYyndnkb+E3JS9RQ6XcUPEBNz8Jno/wJQS3jbWf6xRk+bQ9UjvSYNloURk0uOmXkmr4TRwy5H8yKDgMgr5J9WVeYx1CvU+YtS1IvYDWMl4ti6rZmE9/lDApuX9dy2sFZMZ5aXIFwlmI1RzlkEw==; 25:mKs/qiLuVmVeQynB54pVu6QIS+SiLkssEkExIWZVljKaDRdC4KURR/yciK/AhhnB4KXrckWMqstQZaJsrmiv2iTHvw2jVwpl8+ByUkJwUXKjmg/UArGsgAXOIiZZnkuxI/1g4u+APk2is65f/pbKBAATGptyImMhQGlfXmUs56MRavSOo8libY3pI1je5ci+KuPPiKrafkEUbcgGHkn8PbGZlpXojH1JBA947PmOrorrmDXa/Un6yCEfvkXIYqAhMtkg6UnoBQsE6d3YOs/PAy7uQe+TG/9oodgRJcX9DZAB5OzAlWNfwaibJnbbJkDDFpyc9gZg7U+H0yCcXBCSx6puK8DFKa6NxkbEFLz9F5LhXzQ99RrnwVD9zuWsU/j44jfiaPcx5bmCW439WJ4ISQDfS9VwuS7iKzmv6EQAxU7zXp7MPmsGjy3zGAEJWFxcVHo5cmaS1+lbBInZhvGYQQ== X-Microsoft-Exchange-Diagnostics: 1; BY2PR0601MB1640; 31:96GBmz02+O9UW87q8cHtWXv7oZ+uSokVd4da5+s1JsSD9pTJcwI+g+3Ijb7YwV577oa0bPD8hJw6cq/YEHq9R+LWCeU3CFwon2A2egFHZ/n1VlkM2TT/FqxV/wKGdOL+oJaITAcuvR/3qsujG/fiCjyQFPIFkBV08C0Z0uh1md1W4rqMGqz5xbTeEr/UGHwt8hQBfn8QtpF8pMH4wRqUa1oK+TFk2JJz8XtwY4+0WXjaGAUTC2Mu7wL3O3UN8jLMv8ko6DVRaBM1/3QMkvH+KA==; 20:GvPppOUr/yG5RKY7GxZ7+b4GgI5bdYtcMn5K2m+O1f/tOrbQfO6zkj0zJQ406b7NqmgVaRKUPEIxISYzNeDKi/nr3EEvyQpIVJRiH4s9zA8HEWoaAixO+O0RD25I9EOD1CUun2fQsvxOuEuTcYcpwM7N8M+/2J5m1z2DX0wOzpWMkCzx4aqwZDsQdQoCk7P0VSwsNs5wlJtuq0sEEj7G5BPc4Wmhv8ND6j6N1AEZtz6my9NaWgNsF0ivXLdiD4BP/Ixp/WCDZ6zYGYYxVVbxtZ3o6EY8Vzgy8u7PXF5fF/LQLLoa90W/9BEDOnFRy1Tch67wTxHLvC94CAMmCEtCV8ZMJbGkKJ3fFl7MiUCUIgu/9dDEj1VXnZfH7BitMk9oBNGXVwJ1MR3yCwfnCm5vkCq9LgDISemsO2I09f+eTxExvLhHP7dVLK3HJbduTeZlj2Ae13cbW24lLqKXKYp1IzNEiZWApQ2ep9zlMUnyClvtcrrkLpdXqPeE83q9jyFJ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148); SRVR:BY2PR0601MB1640; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0601MB1640; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0601MB1640; 4:G/aWBdTigRxruvVeLabij1bv58/HB1QGMou+we5iqPb1Z6oZ2/wZVhqBUsY7JBE8Vg3Wplif7f8BfO0OHhzRgWcnAmAq/KwJEmX7HZci0e5hXxUpdRiT8L3/PZIzm7pd50pC1/iCfl9wmf84YEY+szyFIfLxSNTqojY4lCsGP8zK62pQsDKihzUP1UDaw0SV8U6hgfd+zGw2UskylMAQZ+xJ8gRQR4F03Zgo3oxIGZEsQYdLoGl1XVU6Qyz77z4L/RbV0Un/AXUZFRbRLicGuXKCDXsbL+TihN53SdkZOkCKr8ZvEq8dtesu0K302y8AUEPdnDdxjddd1UPfgGInvqcPwpoGPcQMb09nHcntXICoqQrLYKoOoN1nEf4jMPe813T+YYzeZLdcOO/sGDiR+JJSWybfcqxAF6EglEtiCt6fY4j/QHOxW8ZLUC7uO/wZ7zo+BMb9bwgOFLTgY0Nr5xVBEDY3E8oOl5F8seKL31rXI5xObtqgnU+sK0ayzWl7vSNM+wLcdzcl5CR5Bpy5r//h9C/G4DeYIEw4F3sRl1f8+T+865NslXF/Uf3GprKr5KUIm6KXG4ISgp7AdQFMBg== X-Forefront-PRVS: 01565FED4C X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(39410400002)(39850400002)(39840400002)(189002)(199003)(81166006)(7736002)(8676002)(6116002)(305945005)(3846002)(101416001)(42186005)(6666003)(50466002)(6916009)(110136003)(81156014)(2906002)(105586002)(5003940100001)(48376002)(4326007)(68736007)(66066001)(1076002)(92566002)(38730400001)(6506006)(50226002)(6512006)(106356001)(47776003)(50986999)(97736004)(5660300001)(86362001)(6486002)(36756003)(2351001)(189998001)(25786008); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0601MB1640; H:gouda.nowheycreamery.com.nowheycreamery.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: netapp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0601MB1640; 23:88aaqMqV0yPP+RWLHvmiFtZKGhj1odbzJ0F6TwX?= =?us-ascii?Q?N5/EXgCl6spMB226KfZsJ37+y9dd/gdm8uVt+iCvtxSDuttKISsYUOUC3ciY?= =?us-ascii?Q?azbu/izZkeOSNdAee/01oTsEcBbdXaM5Ki8nav+3fRQvUbu5zk8ePksflb9F?= =?us-ascii?Q?kIHt22X5K5OXWBVO0s0I2OUyeIXe9DdArIlwAmAU1f9RlKmxbzTiW6TzstOZ?= =?us-ascii?Q?YoylncUpvDNWulIFcJSYhrteKpcgXdCsM03rzv1hpBVPGaZfW6rZ3RETA3Or?= =?us-ascii?Q?vbsIvJNRjrMFWffkD/rOZ3orlyPnyKMX6PHCQMFMeEjgcFAomUt02YxjPdlC?= =?us-ascii?Q?ho2dyec39pdoG0gznDbe9igmiVQfbR7sNh7H3wO/5TvoxrGWCNCum8Trf7gE?= =?us-ascii?Q?z362dSH6C3MF5ndvgl+DhJ7FXQAzXP32IltuG+iiNorZy7HNLGjHBcUyYHom?= =?us-ascii?Q?GsC7iap4Q8QC2YNSGnxU3Qf7xuqFpaAAJRo0Plfn1i9uzGj5Nr61+Hr1cMEa?= =?us-ascii?Q?pwkLwxyoIaiZdx6HMtm2MCOVMGrr+Kd5JQHquZlo2oYwYHZvuDTmH+3Ggc3x?= =?us-ascii?Q?JEBVVJL2GNQpO/NNXDIhq3HQC5/fIgtLHNgHZ6lVKFaTpW/V93aftWJJ74ro?= =?us-ascii?Q?uJrwCNv09ehcrOV2GxnBhRKHjQNaQyhiiitjXY6xcBFlisZz1366x5VMnk1N?= =?us-ascii?Q?CANsMUSxKJ6Zha50W9+Ox/ur/uXhHMI5jHi1C0+bnx0mGxWr5gtoU4Qu8L2l?= =?us-ascii?Q?2rGhK8K1fL5k3LCNyudz2AcEqcHN0hAap3/jpmr2QewU7iCyC1Tw8tj+1qJD?= =?us-ascii?Q?Jtc2ihTm9oS6sHAOig5demX28XZuvKLbD7BfSofYsJmzNXope1xjEQ/bWj2n?= =?us-ascii?Q?KPGLFtAVQqg1ZxKbi66S1YkR4DLCIkP8osC6/PAY04UW491p+KS8fhpsptPX?= =?us-ascii?Q?Y/zzCUtKObA4JywsT3j5MRPsd6RZNLc7uQ3n9B5FAtEMelGfd8oA22mUHXkT?= =?us-ascii?Q?5NPcUc8Vc8gfCOZCLZTW+Kiua9BKwoNcJGrZJiynLxvywM5sIfCI7bM/0y5K?= =?us-ascii?Q?LdULdSbRZhkokldg6KXKIgilmRnO9+QiIr/NnvM3mJ5FsfBJyqCoZSFfMrvi?= =?us-ascii?Q?CImBoY8wtWxw=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0601MB1640; 6:NorXBGWkzHneqHZpKcFf4mzzoKLY8iYFXb+THy24qSUSM0N9igMPEfB3HoJfMcYj2OTfZsr8Tbhm92u7tMFzOn9ETyqsuSR24dndfQL0Kifhg3LRdnAhD7DPElN09yd8q/BEKbmpdqCAnWGYvbrmSCW7skw/l5fpellZ6FNJyOh7Ii8fIdIiKoPFgc4Cm0/4yoHnFJ0Sms38bLg2giIEqmi3xrmamZ1gugaiHLpRlIIxmE0MbggigB69FbfVL8vWiQjQeVnGuYuq3bBUkQIZjklXTi2HEiNS7krKsF9y/JmdrWbwa3NDyJtjQJ39LMaFRb89QJlVanZF7ULN4RIw/K/1vsjUcJidYFyNYE6L6Cjr+CEp5+tRcdKvwj5AEo3PdVZ0rj/YevQZdJB6JwH7yaHkAKY2Sjl6Na0dmDD4lFE=; 5:m4Q+ehHMlOHvfDKVx4dWI0phZxvFJ0jZG3xn/U+OXzGUpCs3dSl6bb+eokUQQKWT4EcZW3vsI4b1Iuno3d/2HZIQidu42omG2RlkpQAIclFnl+kUO30niW03OLldnTmPo7VIHFhuglppqMtweHeWLw==; 24:lagpCd9OXVX4abLPTTiZ7yxWICA6fA21wzyAnWfqktM/IZUiK17B9hZvFYHPfY78X/xl4tMaS+Vllnw5yUEoIKVDhyAsLEfzaUDksbCsqiA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR0601MB1640; 7:sMAqjl0qnQjMOa1hVNl+4d5170f+GvQa61EMYbds47Sawmi9R///jEu+Txit/QTwANsMyOd2RvRAP0ht806c2+bJWA/1h29I4FjjqdiScvCeAAAm66YSaWvBC7DVPu8vV6WSFWeByVQzAlIuLYZa1wZzQZgpaGMbN82nLZuArw/BedOxMkI3H7UKfPekCq8YLCDqZJm6R50SOyy8FUR9Xf7+Zff2DwN86JwXWPor6BPWCpZTd0PIqeA86wtqpPgMIEea+NW/aKxgYkorE+qic/vWd7BzlPuf7gN/+tkJlvmYoFUEQzAwSdcO8ySoemJEg9vwZmMC4ZCWIiEUUILlObA0IUNUX0DOB4BuOpzOTf2ncao/8mNNjEtHz3D2fVv0yNpDpf1MSkqoyy+foi0WAN/t5yayNOxpUUYDJ/bRAjIu61edOyuFVC6VECeYAxzzbizh2bDcCZhoFQEdcXMJsQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2016 21:29:00.6571 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0601MB1640 X-OriginatorOrg: netapp.com Sender: linux-xfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-xfs@vger.kernel.org If copy_file_range() returns 0, then that means no data was copied. We should break out of the loop in this case to prevent looping indefinitely. Additionally, if an error is returned by copy_file_range() then we need to print out the string form to be used by error checking tests in xfstests. Signed-off-by: Anna Schumaker --- v2: - Use perror() instead of fprintf() --- io/copy_file_range.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/io/copy_file_range.c b/io/copy_file_range.c index 88203e9..249c649 100644 --- a/io/copy_file_range.c +++ b/io/copy_file_range.c @@ -49,8 +49,11 @@ copy_file_range(int fd, loff_t *src, loff_t *dst, size_t len) do { ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst, len, 0); - if (ret == -1) + if (ret == -1) { + perror("copy_range"); return errno; + } else if (ret == 0) + break; len -= ret; } while (len > 0);