[Cluster-devel] [PATCH v5 06/13] fs: Convert mpage_readpages to mpage_readahead

2020-02-10 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" Implement the new readahead aop and convert all callers (block_dev, exfat, ext2, fat, gfs2, hpfs, isofs, jfs, nilfs2, ocfs2, omfs, qnx6, reiserfs & udf). The callers are all trivial except for GFS2 & OCFS2. Signed-off-by: Matthew Wilcox (Ora

[Cluster-devel] [PATCH v5 01/13] mm: Fix the return type of __do_page_cache_readahead

2020-02-10 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" ra_submit() which is a wrapper around __do_page_cache_readahead() already returns an unsigned long, and the 'nr_to_read' parameter is an unsigned long, so fix __do_page_cache_readahead() to return an unsigned long, even though I'm prett

[Cluster-devel] [PATCH v5 02/13] mm: Ignore return value of ->readpages

2020-02-10 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" We used to assign the return value to a variable, which we then ignored. Remove the pretence of caring. Signed-off-by: Matthew Wilcox (Oracle) --- mm/readahead.c | 8 ++-- 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/mm/readah

[Cluster-devel] [PATCH v5 08/13] erofs: Convert uncompressed files from readpages to readahead

2020-02-10 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" Use the new readahead operation in erofs Signed-off-by: Matthew Wilcox (Oracle) --- fs/erofs/data.c | 39 +--- fs/erofs/zdata.c | 2 +- include/trace/events/erofs.h | 6 +++--- 3 files c

[Cluster-devel] [PATCH v5 03/13] mm: Put readahead pages in cache earlier

2020-02-10 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" At allocation time, put the pages in the cache unless we're using ->readpages. Signed-off-by: Matthew Wilcox (Oracle) --- mm/readahead.c | 66 -- 1 file changed, 42 insertions(+), 24 deletions(-

Re: [Cluster-devel] [PATCH v4 00/12] Change readahead API

2020-02-04 Thread Matthew Wilcox
On Tue, Feb 04, 2020 at 04:32:27PM +0100, David Sterba wrote: > On Sat, Feb 01, 2020 at 07:12:28AM -0800, Matthew Wilcox wrote: > > From: "Matthew Wilcox (Oracle)" > > > > I would particularly value feedback on this from the gfs2 and ocfs2 > > maintainers.

[Cluster-devel] [PATCH v4 04/12] mm: Add readahead address space operation

2020-02-01 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" This replaces ->readpages with a saner interface: - Return the number of pages not read instead of an ignored error code. - Pages are already in the page cache when ->readahead is called. - Implementation looks up the pages in the page

[Cluster-devel] [PATCH v4 05/12] fs: Convert mpage_readpages to mpage_readahead

2020-02-01 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" Implement the new readahead aop and convert all callers (block_dev, exfat, ext2, fat, gfs2, hpfs, isofs, jfs, nilfs2, ocfs2, omfs, qnx6, reiserfs & udf). The callers are all trivial except for GFS2 & OCFS2. Signed-off-by: Matthew Wilcox (Or

[Cluster-devel] [PATCH v4 00/12] Change readahead API

2020-02-01 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" I would particularly value feedback on this from the gfs2 and ocfs2 maintainers. They have non-trivial changes, and a review on patch 5 would be greatly appreciated. This series adds a readahead address_space operation to eventually replace the

[Cluster-devel] [PATCH v4 03/12] readahead: Put pages in cache earlier

2020-02-01 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" At allocation time, put the pages in the cache unless we're using ->readpages. Signed-off-by: Matthew Wilcox (Oracle) Cc: linux-bt...@vger.kernel.org Cc: linux-er...@lists.ozlabs.org Cc: linux-e...@vger.kernel.org Cc: linux-f2fs-de...@lists.

Re: [Cluster-devel] [PATCH 04/12] mm: Add readahead address space operation

2020-01-31 Thread Matthew Wilcox
On Fri, Jan 24, 2020 at 07:57:40PM -0800, Randy Dunlap wrote: > > +``readahead`` > > + called by the VM to read pages associated with the address_space > > + object. The pages are consecutive in the page cache and are > > +locked. The implementation should decrement the page refcount

Re: [Cluster-devel] [PATCH 04/12] mm: Add readahead address space operation

2020-01-30 Thread Matthew Wilcox
On Wed, Jan 29, 2020 at 11:24:56AM +1100, Dave Chinner wrote: > On Fri, Jan 24, 2020 at 05:35:45PM -0800, Matthew Wilcox wrote: > > From: "Matthew Wilcox (Oracle)" > > > > This replaces ->readpages with a saner interface: > > - Return the number of pa

Re: [Cluster-devel] [PATCH 03/12] readahead: Put pages in cache earlier

2020-01-25 Thread Matthew Wilcox
On Fri, Jan 24, 2020 at 05:35:44PM -0800, Matthew Wilcox wrote: > @@ -192,8 +194,18 @@ unsigned long __do_page_cache_readahead(struct > address_space *mapping, > page = __page_cache_alloc(gfp_mask); > if (!page) > break; >

[Cluster-devel] [PATCH 05/12] fs: Convert mpage_readpages to mpage_readahead

2020-01-24 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" Implement the new readahead aop and convert all callers (block_dev, exfat, ext2, fat, gfs2, hpfs, isofs, jfs, nilfs2, ocfs2, omfs, qnx6, reiserfs & udf). The callers are all trivial except for GFS2 & OCFS2. Signed-off-by: Matthew Wilcox (Or

[Cluster-devel] [PATCH 03/12] readahead: Put pages in cache earlier

2020-01-24 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" At allocation time, put the pages in the cache unless we're using ->readpages. Signed-off-by: Matthew Wilcox (Oracle) Cc: linux-bt...@vger.kernel.org Cc: linux-er...@lists.ozlabs.org Cc: linux-e...@vger.kernel.org Cc: linux-f2fs-de...@lists.

[Cluster-devel] [PATCH 04/12] mm: Add readahead address space operation

2020-01-24 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" This replaces ->readpages with a saner interface: - Return the number of pages not read instead of an ignored error code. - Pages are already in the page cache when ->readahead is called. - Implementation looks up the pages in the page

[Cluster-devel] [PATCH 00/12] Change readahead API

2020-01-24 Thread Matthew Wilcox
From: "Matthew Wilcox (Oracle)" This series adds a readahead address_space operation to eventually replace the readpages operation. The key difference is that pages are added to the page cache as they are allocated (and then looked up by the filesystem) instead of passing them on a l

Re: [Cluster-devel] RFC: hold i_rwsem until aio completes

2020-01-18 Thread Matthew Wilcox
On Wed, Jan 15, 2020 at 03:33:47PM +0100, Peter Zijlstra wrote: > On Wed, Jan 15, 2020 at 09:24:28AM -0400, Jason Gunthorpe wrote: > > > I was interested because you are talking about allowing the read/write side > > of a rw sem to be held across a return to user space/etc, which is the > > same b

Re: [Cluster-devel] RFC: hold i_rwsem until aio completes

2020-01-14 Thread Matthew Wilcox
On Tue, Jan 14, 2020 at 05:12:13PM +0100, Christoph Hellwig wrote: > Second I/O > completions often come from interrupt context, which means the re-acquire > is recorded as from irq context, leading to warnings about incorrect > contexts. I wonder if we could just have a bit in lockdep that says >

Re: [Cluster-devel] [PATCH v2 1/2] iomap: Add a page_prepare callback

2019-04-25 Thread Matthew Wilcox
On Thu, Apr 25, 2019 at 05:26:30PM +0200, Andreas Gruenbacher wrote: This seems to be corrupted; there's no declaration of a page_ops in iomap_write_begin ... unless you're basing on a patch I don't have? > diff --git a/fs/iomap.c b/fs/iomap.c > index 97cb9d486a7d..967c985c5310 100644 > --- a/fs/

Re: [Cluster-devel] [PATCH] vfs: Allow selection of fs root independent of sb

2019-03-21 Thread Matthew Wilcox
On Thu, Mar 21, 2019 at 05:26:44PM +, Andrew Price wrote: > Take a function pointer 'select_root' in vfs_get_block_super() to allow > callers to select the root dentry based on the context. Can't this be a fs_context_operations pointer?

Re: [Cluster-devel] [PATCH v2 2/4] mm: add file_fdatawait_range and file_write_and_wait

2017-07-26 Thread Matthew Wilcox
On Wed, Jul 26, 2017 at 01:55:36PM -0400, Jeff Layton wrote: > +int file_write_and_wait(struct file *file) > +{ > + int err = 0, err2; > + struct address_space *mapping = file->f_mapping; > + > + if ((!dax_mapping(mapping) && mapping->nrpages) || > + (dax_mapping(mapping) && map

Re: [Cluster-devel] [PATCH v2 4/4] gfs2: convert to errseq_t based writeback error reporting for fsync

2017-07-26 Thread Matthew Wilcox
On Wed, Jul 26, 2017 at 01:55:38PM -0400, Jeff Layton wrote: > @@ -668,12 +668,14 @@ static int gfs2_fsync(struct file *file, loff_t start, > loff_t end, > if (ret) > return ret; > if (gfs2_is_jdata(ip)) > - filemap_write_and_wa

Re: [Cluster-devel] [PATCH v4 13/27] lib: add errseq_t type and infrastructure for handling it

2017-05-10 Thread Matthew Wilcox
On Tue, May 09, 2017 at 11:49:16AM -0400, Jeff Layton wrote: > +++ b/lib/errseq.c > @@ -0,0 +1,199 @@ > +#include > +#include > +#include > +#include > + > +/* > + * An errseq_t is a way of recording errors in one place, and allowing any > + * number of "subscribers" to tell whether it has chan

Re: [Cluster-devel] [PATCH v4 06/27] fs: check for writeback errors after syncing out buffers in generic_file_fsync

2017-05-10 Thread Matthew Wilcox
e buffers. That > will be sufficient for this case, and help other callers detect > these errors properly as well. > > With that, we don't need to twiddle it in ext2. > > Suggested-by: Jan Kara > Signed-off-by: Jeff Layton > Reviewed-by: Christoph Hellwig > Reviewed-by: Jan Kara Reviewed-by: Matthew Wilcox

Re: [Cluster-devel] [PATCH 4/6] xfs: use memalloc_nofs_{save, restore} instead of memalloc_noio*

2017-02-06 Thread Matthew Wilcox
On Mon, Feb 06, 2017 at 03:07:16PM +0100, Michal Hocko wrote: > +++ b/fs/xfs/xfs_buf.c > @@ -442,17 +442,17 @@ _xfs_buf_map_pages( > bp->b_addr = NULL; > } else { > int retried = 0; > - unsigned noio_flag; > + unsigned nofs_flag; > >

Re: [Cluster-devel] [PATCH 1/6] lockdep: allow to disable reclaim lockup detection

2017-02-06 Thread Matthew Wilcox
On Mon, Feb 06, 2017 at 03:34:50PM +0100, Michal Hocko wrote: > This part is not needed for the patch, strictly speaking but I wanted to > make the code more future proof. Understood. I took an extra bit myself for marking the radix tree as being used for an IDR (so the radix tree now uses 4 bits

Re: [Cluster-devel] [PATCH 1/6] lockdep: allow to disable reclaim lockup detection

2017-02-06 Thread Matthew Wilcox
On Mon, Feb 06, 2017 at 03:07:13PM +0100, Michal Hocko wrote: > While we are at it also make sure that the radix tree doesn't > accidentaly override tags stored in the upper part of the gfp_mask. > diff --git a/lib/radix-tree.c b/lib/radix-tree.c > index 9dc093d5ef39..7550be09f9d6 100644 > --- a/l

Re: [Cluster-devel] [PATCH] mm: Avoid returning VM_FAULT_RETRY from ->page_mkwrite handlers

2017-02-03 Thread Matthew Wilcox
On Fri, Feb 03, 2017 at 04:46:40PM +0100, Jan Kara wrote: > On Fri 03-02-17 07:13:59, Matthew Wilcox wrote: > > On Fri, Feb 03, 2017 at 04:07:29PM +0100, Jan Kara wrote: > > > Some ->page_mkwrite handlers may return VM_FAULT_RETRY as its return > > > code (GFS2 or

Re: [Cluster-devel] [PATCH] mm: Avoid returning VM_FAULT_RETRY from ->page_mkwrite handlers

2017-02-03 Thread Matthew Wilcox
On Fri, Feb 03, 2017 at 04:07:29PM +0100, Jan Kara wrote: > Some ->page_mkwrite handlers may return VM_FAULT_RETRY as its return > code (GFS2 or Lustre can definitely do this). However VM_FAULT_RETRY > from ->page_mkwrite is completely unhandled by the mm code and results > in locking and writeably

Re: [Cluster-devel] [PATCH 3/4] fsfreeze: manage kill signal when sb_start_pagefault is called

2013-04-07 Thread Matthew Wilcox
s_delalloc_reserve_space(inode, PAGE_CACHE_SIZE); Does the compiler not warn that you're assigning void to 'ret'? Or was there some other SNAFU sending these patches? -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you

<    1   2   3   4   5