From patchwork Fri Sep 4 20:17:01 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Schumaker, Anna" X-Patchwork-Id: 7126091 Return-Path: X-Original-To: patchwork-linux-fsdevel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 72DFE9F402 for ; Fri, 4 Sep 2015 20:17:29 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B222F205DB for ; Fri, 4 Sep 2015 20:17:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BFD8F2089C for ; Fri, 4 Sep 2015 20:17:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760604AbbIDURX (ORCPT ); Fri, 4 Sep 2015 16:17:23 -0400 Received: from mx144.netapp.com ([216.240.21.25]:4785 "EHLO mx144.netapp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760576AbbIDURU (ORCPT ); Fri, 4 Sep 2015 16:17:20 -0400 X-IronPort-AV: E=Sophos;i="5.17,470,1437462000"; d="scan'208";a="66218182" Received: from vmwexchts04-prd.hq.netapp.com ([10.122.105.32]) by mx144-out.netapp.com with ESMTP; 04 Sep 2015 13:17:20 -0700 Received: from smtp2.corp.netapp.com (10.57.159.114) by VMWEXCHTS04-PRD.hq.netapp.com (10.122.105.32) with Microsoft SMTP Server id 15.0.1076.9; Fri, 4 Sep 2015 13:17:19 -0700 Received: from davros.com ([10.63.224.137]) by smtp2.corp.netapp.com (8.13.1/8.13.1/NTAP-1.6) with ESMTP id t84KH4kt024651; Fri, 4 Sep 2015 13:17:18 -0700 (PDT) From: Anna Schumaker To: , , , , , , , , , , Subject: [PATCH v1 7/8] vfs: Copy should use file_out rather than file_in Date: Fri, 4 Sep 2015 16:17:01 -0400 Message-ID: <1441397823-1203-8-git-send-email-Anna.Schumaker@Netapp.com> X-Mailer: git-send-email 2.5.1 In-Reply-To: <1441397823-1203-1-git-send-email-Anna.Schumaker@Netapp.com> References: <1441397823-1203-1-git-send-email-Anna.Schumaker@Netapp.com> MIME-Version: 1.0 Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The way to think about this is that the destination filesystem reads the data from the source file and processes it accordingly. This is especially important to avoid an infinate loop when doing a "server to server" copy on NFS. Signed-off-by: Anna Schumaker --- fs/read_write.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/read_write.c b/fs/read_write.c index 59637ed..9dafb7f 100644 --- a/fs/read_write.c +++ b/fs/read_write.c @@ -1355,7 +1355,7 @@ ssize_t vfs_copy_file_range(struct file *file_in, loff_t pos_in, if (!(file_in->f_mode & FMODE_READ) || !(file_out->f_mode & FMODE_WRITE) || (file_out->f_flags & O_APPEND) || - !file_in->f_op || !file_in->f_op->copy_file_range) + !file_out->f_op || !file_out->f_op->copy_file_range) return -EBADF; inode_in = file_inode(file_in); @@ -1377,8 +1377,8 @@ ssize_t vfs_copy_file_range(struct file *file_in, loff_t pos_in, if (ret) return ret; - ret = file_in->f_op->copy_file_range(file_in, pos_in, file_out, pos_out, - len, flags); + ret = file_out->f_op->copy_file_range(file_in, pos_in, file_out, pos_out, + len, flags); if (ret > 0) { fsnotify_access(file_in); add_rchar(current, ret);