Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp935370imm; Wed, 6 Jun 2018 08:04:12 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKIzvcJeIOK9uJssidex+K4O4In6eveeyVauKifuerOqHTFsvO+GTG978H0soAm570U46wt X-Received: by 2002:a62:418b:: with SMTP id g11-v6mr2818603pfd.51.1528297452527; Wed, 06 Jun 2018 08:04:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528297452; cv=none; d=google.com; s=arc-20160816; b=ZnaHOhqOBX4OdHTs88gR/YGCWIU39tuBnp0Fp5UDnx9uhZmE3gLKiuXJqN8wg6GzYS 6CpvfRdkK31ArsCVwSlh+1Gd1bPziroesBxwzb19Gh98bv79ulH51KtURA4PYV4eMJbS gh115mqE5O8Z2/XWzu/HnMsJ++2vb3IC+TctQHySGuG1+JM8IEgsmbXT7mLVJA2ZgNre SmvDheODEiVb4KXB62x5+mGqhnwBSwAmq8l7knSagX5qpZ/ECHxHs855cXAsJNGyTHLB O5Vqcrn+huzLk3NWxRQnKMC5SzmP5IIyrDnPoH9lLXmBvKUCFNbZ8BK5R4nxdAuz9kWn OI/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=xvRBLN+RURuHv6+A3odSHTEozhrZ+1635X1x9E6jxHA=; b=rJjEQ7NusIhpmAevd6KGG0DynfWe78Jaa9BnLsdpMf/ZXd2/5iO96e3JHslg+faa1o OHmjtICHYgfhsSo7h+1NA/GMo4uXS2aUzAzYhoyO8tPvi+Op99oi4/iSFnBfe5uv3jC2 c/H/UKW2uyPxMrXuXGefUkbz4i/ehsnNSLExbLIBc08ZDkkh5DZB/ZWX/Zk5V3Vlwp+j mR6SEyhKpTy1R5tkIbfUv4l/90G2mqoPlC39zrP3+TNZyIbI0lmwUvOIWId/JN//pGu7 PUqHN7BfAIOAmk/QTxmsFXVPoH9JI5Gg+u3S/TjNfrjBcre2SH12mNx1WWZeA+Ou5JgP qjcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=I8f4wWOM; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p22-v6si10025225pfk.275.2018.06.06.08.03.57; Wed, 06 Jun 2018 08:04:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=I8f4wWOM; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752366AbeFFPCv (ORCPT + 99 others); Wed, 6 Jun 2018 11:02:51 -0400 Received: from aserp2130.oracle.com ([141.146.126.79]:40520 "EHLO aserp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752053AbeFFPCt (ORCPT ); Wed, 6 Jun 2018 11:02:49 -0400 Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w56EttQM084465; Wed, 6 Jun 2018 15:02:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=corp-2017-10-26; bh=xvRBLN+RURuHv6+A3odSHTEozhrZ+1635X1x9E6jxHA=; b=I8f4wWOMEZOy156CZowwpr+PaojlzlghIfXSzCCYihxGVoB+peDmGhBIDejBKZ1/tKHJ CtnE4Lzb4Uu9OlaClcaF2FFEcbEi9J0usEvCcgbaRjlVl/7m3SIiisDrsPeogukJ2jA9 KjTKlRRckjmDI8gXsQ7j26vs9/rx41NpQM5gYCWlD5r5j0e5CjN6MSPfhYQ6hJsSJz4e 9ebNaWXErXdvcKIC2CAFsSGH2SBjOpw4ZhqruuUNROaeBQU2THZiGKniLeyxunQiKzIC 4wfm7WIx6fPifgYEimXHmzA11PNMTaMk0lDoHWWXg57l33sHWZwJsMTtvnXljLSwWsK8 xg== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp2130.oracle.com with ESMTP id 2jbvyp5356-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 06 Jun 2018 15:02:35 +0000 Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w56F2Zft012041 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 6 Jun 2018 15:02:35 GMT Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w56F2YdM017572; Wed, 6 Jun 2018 15:02:34 GMT Received: from localhost (/67.169.218.210) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 06 Jun 2018 08:02:34 -0700 Date: Wed, 6 Jun 2018 08:02:33 -0700 From: "Darrick J. Wong" To: Miklos Szeredi Cc: linux-unionfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 02/39] vfs: dedupe: rationalize args Message-ID: <20180606150233.GB9426@magnolia> References: <20180529144339.16538-1-mszeredi@redhat.com> <20180529144339.16538-3-mszeredi@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180529144339.16538-3-mszeredi@redhat.com> User-Agent: Mutt/1.9.4 (2018-02-28) X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8915 signatures=668702 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1805220000 definitions=main-1806060172 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 29, 2018 at 04:43:02PM +0200, Miklos Szeredi wrote: > Clean up f_op->dedupe_file_range() interface. > > 1) Use loff_t for offsets and length instead of u64 > 2) Order the arguments the same way as {copy|clone}_file_range(). > > Signed-off-by: Miklos Szeredi > --- > fs/btrfs/ctree.h | 5 +++-- > fs/btrfs/ioctl.c | 5 +++-- > fs/ocfs2/file.c | 6 +++--- > fs/read_write.c | 4 ++-- > fs/xfs/xfs_file.c | 6 +++--- > include/linux/fs.h | 4 ++-- > 6 files changed, 16 insertions(+), 14 deletions(-) > > diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h > index 990e011c9f0c..5968ba5aa0d1 100644 > --- a/fs/btrfs/ctree.h > +++ b/fs/btrfs/ctree.h > @@ -3271,8 +3271,9 @@ void btrfs_get_block_group_info(struct list_head *groups_list, > struct btrfs_ioctl_space_info *space); > void update_ioctl_balance_args(struct btrfs_fs_info *fs_info, int lock, > struct btrfs_ioctl_balance_args *bargs); > -loff_t btrfs_dedupe_file_range(struct file *src_file, u64 loff, u64 olen, > - struct file *dst_file, u64 dst_loff); > +loff_t btrfs_dedupe_file_range(struct file *src_file, loff_t loff, > + struct file *dst_file, loff_t dst_loff, > + loff_t olen); > > /* file.c */ > int __init btrfs_auto_defrag_init(void); > diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c > index 1b5cc5fd4868..70eac76804df 100644 > --- a/fs/btrfs/ioctl.c > +++ b/fs/btrfs/ioctl.c > @@ -3194,8 +3194,9 @@ static int btrfs_extent_same(struct inode *src, u64 loff, u64 olen, > > #define BTRFS_MAX_DEDUPE_LEN SZ_16M > > -loff_t btrfs_dedupe_file_range(struct file *src_file, u64 loff, u64 olen, > - struct file *dst_file, u64 dst_loff) > +loff_t btrfs_dedupe_file_range(struct file *src_file, loff_t loff, > + struct file *dst_file, loff_t dst_loff, > + loff_t olen) > { > struct inode *src = file_inode(src_file); > struct inode *dst = file_inode(dst_file); > diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c > index 4a81d82ab7f6..a024715cd227 100644 > --- a/fs/ocfs2/file.c > +++ b/fs/ocfs2/file.c > @@ -2538,10 +2538,10 @@ static int ocfs2_file_clone_range(struct file *file_in, > } > > static loff_t ocfs2_file_dedupe_range(struct file *src_file, > - u64 loff, > - u64 len, > + loff_t loff, > struct file *dst_file, > - u64 dst_loff) > + loff_t dst_loff, > + loff_t len) > { > int error; > > diff --git a/fs/read_write.c b/fs/read_write.c > index c41e2a1eb7c7..1818581cadf6 100644 > --- a/fs/read_write.c > +++ b/fs/read_write.c > @@ -2046,8 +2046,8 @@ int vfs_dedupe_file_range(struct file *file, struct file_dedupe_range *same) > info->status = -EINVAL; > } else { > deduped = dst_file->f_op->dedupe_file_range(file, off, > - len, dst_file, > - info->dest_offset); > + dst_file, > + info->dest_offset, len); > if (deduped == -EBADE) > info->status = FILE_DEDUPE_RANGE_DIFFERS; > else if (deduped < 0) > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c > index cf51d47efdb6..75704edfba82 100644 > --- a/fs/xfs/xfs_file.c > +++ b/fs/xfs/xfs_file.c > @@ -875,10 +875,10 @@ xfs_file_clone_range( > STATIC loff_t > xfs_file_dedupe_range( > struct file *src_file, > - u64 loff, > - u64 len, > + loff_t loff, > struct file *dst_file, > - u64 dst_loff) > + loff_t dst_loff, > + loff_t len) > { > struct inode *srci = file_inode(src_file); > u64 max_dedupe; > diff --git a/include/linux/fs.h b/include/linux/fs.h > index 8e49defc7aab..b0f290944220 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -1738,8 +1738,8 @@ struct file_operations { > loff_t, size_t, unsigned int); > int (*clone_file_range)(struct file *, loff_t, struct file *, loff_t, > u64); > - loff_t (*dedupe_file_range)(struct file *, u64, u64, struct file *, > - u64); > + loff_t (*dedupe_file_range)(struct file *, loff_t, > + struct file *, loff_t, loff_t); > } __randomize_layout; XFS/vfs parts look ok, Reviewed-by: Darrick J. Wong --D > > struct inode_operations { > -- > 2.14.3 >