All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Shiyang Ruan <ruansy.fnst@cn.fujitsu.com>
Cc: linux-kernel@vger.kernel.org, linux-xfs@vger.kernel.org,
	linux-nvdimm@lists.01.org, linux-fsdevel@vger.kernel.org,
	darrick.wong@oracle.com, dan.j.williams@intel.com,
	willy@infradead.org, jack@suse.cz, viro@zeniv.linux.org.uk,
	linux-btrfs@vger.kernel.org, ocfs2-devel@oss.oracle.com,
	david@fromorbit.com, hch@lst.de, rgoldwyn@suse.de,
	Goldwyn Rodrigues <rgoldwyn@suse.com>
Subject: Re: [PATCH 5/7] fsdax: Dedup file range to use a compare function
Date: Mon, 8 Feb 2021 16:19:20 +0100	[thread overview]
Message-ID: <20210208151920.GE12872@lst.de> (raw)
In-Reply-To: <20210207170924.2933035-6-ruansy.fnst@cn.fujitsu.com>

On Mon, Feb 08, 2021 at 01:09:22AM +0800, Shiyang Ruan wrote:
> With dax we cannot deal with readpage() etc. So, we create a
> funciton callback to perform the file data comparison and pass

s/funciton/function/g

> +#define MIN(a, b) (((a) < (b)) ? (a) : (b))

This should use the existing min or min_t helpers.


>  int generic_remap_file_range_prep(struct file *file_in, loff_t pos_in,
>  				  struct file *file_out, loff_t pos_out,
> -				  loff_t *len, unsigned int remap_flags)
> +				  loff_t *len, unsigned int remap_flags,
> +				  compare_range_t compare_range_fn)

Can we keep generic_remap_file_range_prep as-is, and add a new
dax_remap_file_range_prep, both sharing a low-level
__generic_remap_file_range_prep implementation?  And for that
implementation I'd also go for classic if/else instead of the function
pointer.

> +extern int vfs_dedupe_file_range_compare(struct inode *src, loff_t srcoff,
> +					 struct inode *dest, loff_t destoff,
> +					 loff_t len, bool *is_same);

no need for the extern.

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Shiyang Ruan <ruansy.fnst@cn.fujitsu.com>
Cc: linux-kernel@vger.kernel.org, linux-xfs@vger.kernel.org,
	linux-nvdimm@lists.01.org, linux-fsdevel@vger.kernel.org,
	darrick.wong@oracle.com, willy@infradead.org, jack@suse.cz,
	viro@zeniv.linux.org.uk, linux-btrfs@vger.kernel.org,
	ocfs2-devel@oss.oracle.com, david@fromorbit.com, hch@lst.de,
	rgoldwyn@suse.de, Goldwyn Rodrigues <rgoldwyn@suse.com>
Subject: Re: [PATCH 5/7] fsdax: Dedup file range to use a compare function
Date: Mon, 8 Feb 2021 16:19:20 +0100	[thread overview]
Message-ID: <20210208151920.GE12872@lst.de> (raw)
In-Reply-To: <20210207170924.2933035-6-ruansy.fnst@cn.fujitsu.com>

On Mon, Feb 08, 2021 at 01:09:22AM +0800, Shiyang Ruan wrote:
> With dax we cannot deal with readpage() etc. So, we create a
> funciton callback to perform the file data comparison and pass

s/funciton/function/g

> +#define MIN(a, b) (((a) < (b)) ? (a) : (b))

This should use the existing min or min_t helpers.


>  int generic_remap_file_range_prep(struct file *file_in, loff_t pos_in,
>  				  struct file *file_out, loff_t pos_out,
> -				  loff_t *len, unsigned int remap_flags)
> +				  loff_t *len, unsigned int remap_flags,
> +				  compare_range_t compare_range_fn)

Can we keep generic_remap_file_range_prep as-is, and add a new
dax_remap_file_range_prep, both sharing a low-level
__generic_remap_file_range_prep implementation?  And for that
implementation I'd also go for classic if/else instead of the function
pointer.

> +extern int vfs_dedupe_file_range_compare(struct inode *src, loff_t srcoff,
> +					 struct inode *dest, loff_t destoff,
> +					 loff_t len, bool *is_same);

no need for the extern.
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Shiyang Ruan <ruansy.fnst@cn.fujitsu.com>
Cc: jack@suse.cz, darrick.wong@oracle.com, linux-nvdimm@lists.01.org,
	david@fromorbit.com, linux-kernel@vger.kernel.org,
	linux-xfs@vger.kernel.org, ocfs2-devel@oss.oracle.com,
	viro@zeniv.linux.org.uk, Goldwyn Rodrigues <rgoldwyn@suse.com>,
	linux-fsdevel@vger.kernel.org, dan.j.williams@intel.com,
	linux-btrfs@vger.kernel.org
Subject: Re: [Ocfs2-devel] [PATCH 5/7] fsdax: Dedup file range to use a compare function
Date: Mon, 8 Feb 2021 16:19:20 +0100	[thread overview]
Message-ID: <20210208151920.GE12872@lst.de> (raw)
In-Reply-To: <20210207170924.2933035-6-ruansy.fnst@cn.fujitsu.com>

On Mon, Feb 08, 2021 at 01:09:22AM +0800, Shiyang Ruan wrote:
> With dax we cannot deal with readpage() etc. So, we create a
> funciton callback to perform the file data comparison and pass

s/funciton/function/g

> +#define MIN(a, b) (((a) < (b)) ? (a) : (b))

This should use the existing min or min_t helpers.


>  int generic_remap_file_range_prep(struct file *file_in, loff_t pos_in,
>  				  struct file *file_out, loff_t pos_out,
> -				  loff_t *len, unsigned int remap_flags)
> +				  loff_t *len, unsigned int remap_flags,
> +				  compare_range_t compare_range_fn)

Can we keep generic_remap_file_range_prep as-is, and add a new
dax_remap_file_range_prep, both sharing a low-level
__generic_remap_file_range_prep implementation?  And for that
implementation I'd also go for classic if/else instead of the function
pointer.

> +extern int vfs_dedupe_file_range_compare(struct inode *src, loff_t srcoff,
> +					 struct inode *dest, loff_t destoff,
> +					 loff_t len, bool *is_same);

no need for the extern.

_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel

  reply	other threads:[~2021-02-08 15:24 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-07 17:09 [PATCH 0/7] fsdax,xfs: Add reflink&dedupe support for fsdax Shiyang Ruan
2021-02-07 17:09 ` [Ocfs2-devel] [PATCH 0/7] fsdax, xfs: " Shiyang Ruan
2021-02-07 17:09 ` [PATCH 0/7] fsdax,xfs: " Shiyang Ruan
2021-02-07 17:09 ` [PATCH 1/7] fsdax: Output address in dax_iomap_pfn() and rename it Shiyang Ruan
2021-02-07 17:09   ` [Ocfs2-devel] " Shiyang Ruan
2021-02-07 17:09   ` Shiyang Ruan
2021-02-08 15:11   ` Christoph Hellwig
2021-02-08 15:11     ` [Ocfs2-devel] " Christoph Hellwig
2021-02-08 15:11     ` Christoph Hellwig
2021-02-22  7:44   ` Xiaoguang Wang
2021-02-22  7:44     ` [Ocfs2-devel] " Xiaoguang Wang
2021-02-22  7:44     ` Xiaoguang Wang
2021-02-23  1:32     ` 回复: " ruansy.fnst
2021-02-23  1:32       ` [Ocfs2-devel] " ruansy.fnst
2021-02-23  1:32       ` ruansy.fnst
2021-02-07 17:09 ` [PATCH 2/7] fsdax: Introduce dax_copy_edges() for CoW Shiyang Ruan
2021-02-07 17:09   ` [Ocfs2-devel] " Shiyang Ruan
2021-02-07 17:09   ` Shiyang Ruan
2021-02-08 15:11   ` Christoph Hellwig
2021-02-08 15:11     ` [Ocfs2-devel] " Christoph Hellwig
2021-02-08 15:11     ` Christoph Hellwig
2021-02-07 17:09 ` [PATCH 3/7] fsdax: Copy data before write Shiyang Ruan
2021-02-07 17:09   ` [Ocfs2-devel] " Shiyang Ruan
2021-02-07 17:09   ` Shiyang Ruan
2021-02-08 15:14   ` Christoph Hellwig
2021-02-08 15:14     ` [Ocfs2-devel] " Christoph Hellwig
2021-02-08 15:14     ` Christoph Hellwig
2021-02-09  1:53     ` Ruan Shiyang
2021-02-09  1:53       ` [Ocfs2-devel] " Ruan Shiyang
2021-02-09  1:53       ` Ruan Shiyang
2021-02-07 17:09 ` [PATCH 4/7] fsdax: Replace mmap entry in case of CoW Shiyang Ruan
2021-02-07 17:09   ` [Ocfs2-devel] " Shiyang Ruan
2021-02-07 17:09   ` Shiyang Ruan
2021-02-08 15:16   ` Christoph Hellwig
2021-02-08 15:16     ` [Ocfs2-devel] " Christoph Hellwig
2021-02-08 15:16     ` Christoph Hellwig
2021-02-16 13:11   ` David Sterba
2021-02-16 13:11     ` [Ocfs2-devel] " David Sterba
2021-02-16 13:11     ` David Sterba
2021-02-17  3:06     ` Ruan Shiyang
2021-02-17  3:06       ` [Ocfs2-devel] " Ruan Shiyang
2021-02-17  3:06       ` Ruan Shiyang
2021-02-07 17:09 ` [PATCH 5/7] fsdax: Dedup file range to use a compare function Shiyang Ruan
2021-02-07 17:09   ` [Ocfs2-devel] " Shiyang Ruan
2021-02-07 17:09   ` Shiyang Ruan
2021-02-08 15:19   ` Christoph Hellwig [this message]
2021-02-08 15:19     ` [Ocfs2-devel] " Christoph Hellwig
2021-02-08 15:19     ` Christoph Hellwig
2021-02-09  9:15     ` Ruan Shiyang
2021-02-09  9:15       ` [Ocfs2-devel] " Ruan Shiyang
2021-02-09  9:15       ` Ruan Shiyang
2021-02-09  9:34       ` Christoph Hellwig
2021-02-09  9:34         ` [Ocfs2-devel] " Christoph Hellwig
2021-02-09  9:34         ` Christoph Hellwig
2021-02-09  9:46         ` Ruan Shiyang
2021-02-09  9:46           ` [Ocfs2-devel] " Ruan Shiyang
2021-02-09  9:46           ` Ruan Shiyang
2021-02-10 13:19           ` Christoph Hellwig
2021-02-10 13:19             ` [Ocfs2-devel] " Christoph Hellwig
2021-02-10 13:19             ` Christoph Hellwig
2021-02-17  3:24             ` Ruan Shiyang
2021-02-17  3:24               ` [Ocfs2-devel] " Ruan Shiyang
2021-02-17  3:24               ` Ruan Shiyang
2021-02-18 16:20               ` Darrick J. Wong
2021-02-18 16:20                 ` [Ocfs2-devel] " Darrick J. Wong
2021-02-18 16:20                 ` Darrick J. Wong
2021-02-25  7:35                 ` Christoph Hellwig
2021-02-25  7:35                   ` [Ocfs2-devel] " Christoph Hellwig
2021-02-25  7:35                   ` Christoph Hellwig
2021-02-07 17:09 ` [PATCH 6/7] fs/xfs: Handle CoW for fsdax write() path Shiyang Ruan
2021-02-07 17:09   ` [Ocfs2-devel] " Shiyang Ruan
2021-02-07 17:09   ` Shiyang Ruan
2021-02-08 15:24   ` Christoph Hellwig
2021-02-08 15:24     ` [Ocfs2-devel] " Christoph Hellwig
2021-02-08 15:24     ` Christoph Hellwig
2021-02-07 17:09 ` [PATCH 7/7] fs/xfs: Add dedupe support for fsdax Shiyang Ruan
2021-02-07 17:09   ` [Ocfs2-devel] " Shiyang Ruan
2021-02-07 17:09   ` Shiyang Ruan
2021-02-08 15:39 ` [PATCH 0/7] fsdax,xfs: Add reflink&dedupe " Jan Kara
2021-02-08 15:39   ` [Ocfs2-devel] [PATCH 0/7] fsdax, xfs: " Jan Kara
2021-02-08 15:39   ` [PATCH 0/7] fsdax,xfs: " Jan Kara
2021-02-09  1:50   ` Ruan Shiyang
2021-02-09  1:50     ` [Ocfs2-devel] [PATCH 0/7] fsdax, xfs: " Ruan Shiyang
2021-02-09  1:50     ` [PATCH 0/7] fsdax,xfs: " Ruan Shiyang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210208151920.GE12872@lst.de \
    --to=hch@lst.de \
    --cc=dan.j.williams@intel.com \
    --cc=darrick.wong@oracle.com \
    --cc=david@fromorbit.com \
    --cc=jack@suse.cz \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=ocfs2-devel@oss.oracle.com \
    --cc=rgoldwyn@suse.com \
    --cc=rgoldwyn@suse.de \
    --cc=ruansy.fnst@cn.fujitsu.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.