[Nouveau] [PATCH 1/2] ext4/xfs: add page refcount helper

Christoph Hellwig hch at lst.de
Sat Sep 26 06:35:39 UTC 2020


On Fri, Sep 25, 2020 at 01:44:41PM -0700, Ralph Campbell wrote:
>  		error = ___wait_var_event(&page->_refcount,
> -				atomic_read(&page->_refcount) == 1,
> +				dax_layout_is_idle_page(page),
>  				TASK_INTERRUPTIBLE, 0, 0,
>  				ext4_wait_dax_page(ei));

> +++ b/fs/xfs/xfs_file.c
> @@ -750,7 +750,7 @@ xfs_break_dax_layouts(
>  
>  	*retry = true;
>  	return ___wait_var_event(&page->_refcount,
> -			atomic_read(&page->_refcount) == 1, TASK_INTERRUPTIBLE,
> +			dax_layout_is_idle_page(page), TASK_INTERRUPTIBLE,
>  			0, 0, xfs_wait_dax_page(inode));
>  }

I still think a litte helper macro would be nice here:

#define dax_wait_page(_inode, _page, _wait_cb)				\
  	___wait_var_event(&(_page)->_refcount,				\
		atomic_read(&(_page)->_refcount) == 1,			\
		TASK_INTERRUPTIBLE, dax_layout_is_idle_page(_page),	\
		TASK_INTERRUPTIBLE, 0, 0, _wait_cb(_inode));


More information about the Nouveau mailing list