[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180310094633.GA31604@lst.de>
Date: Sat, 10 Mar 2018 10:46:33 +0100
From: Christoph Hellwig <hch@....de>
To: Dan Williams <dan.j.williams@...el.com>
Cc: linux-nvdimm@...ts.01.org, Jeff Moyer <jmoyer@...hat.com>,
Christoph Hellwig <hch@....de>,
Matthew Wilcox <mawilcox@...rosoft.com>,
Ross Zwisler <ross.zwisler@...ux.intel.com>,
Jan Kara <jack@...e.cz>, Dave Chinner <david@...morbit.com>,
linux-xfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 02/11] xfs, dax: introduce xfs_dax_aops
> +int dax_set_page_dirty(struct page *page)
> +{
> + /*
> + * Unlike __set_page_dirty_no_writeback that handles dirty page
> + * tracking in the page object, dax does all dirty tracking in
> + * the inode address_space in response to mkwrite faults. In the
> + * dax case we only need to worry about potentially dirty CPU
> + * caches, not dirty page cache pages to write back.
> + *
> + * This callback is defined to prevent fallback to
> + * __set_page_dirty_buffers() in set_page_dirty().
> + */
> + return 0;
> +}
Make this a generic noop_set_page_dirty maybe?
> +EXPORT_SYMBOL(dax_set_page_dirty);
> +
> +void dax_invalidatepage(struct page *page, unsigned int offset,
> + unsigned int length)
> +{
> + /*
> + * There is no page cache to invalidate in the dax case, however
> + * we need this callback defined to prevent falling back to
> + * block_invalidatepage() in do_invalidatepage().
> + */
> +}
Same here.
> +EXPORT_SYMBOL(dax_invalidatepage);
And EXPORT_SYMBOL_GPL for anything dax-related, please.
> +const struct address_space_operations xfs_dax_aops = {
> + .writepages = xfs_vm_writepages,
Please split out the DAX case from xfs_vm_writepages.
This patch should probably also split into VFS and XFS parts.
Powered by blists - more mailing lists