linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] iomap: pass writeback errors to the mapping
@ 2021-08-05 21:31 Darrick J. Wong
  2021-08-05 22:12 ` Matthew Wilcox
  0 siblings, 1 reply; 3+ messages in thread
From: Darrick J. Wong @ 2021-08-05 21:31 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Matthew Wilcox, Christoph Hellwig

From: Darrick J. Wong <djwong@kernel.org>

Modern-day mapping_set_error has the ability to squash the usual
negative error code into something appropriate for long-term storage in
a struct address_space -- ENOSPC becomes AS_ENOSPC, and everything else
becomes EIO.  iomap squashes /everything/ to EIO, just as XFS did before
that, but this doesn't make sense.

Fix this by making it so that we can pass ENOSPC to userspace when
writeback fails due to space problems.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
 fs/iomap/buffered-io.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
index 87ccb3438bec..b06138c6190b 100644
--- a/fs/iomap/buffered-io.c
+++ b/fs/iomap/buffered-io.c
@@ -1016,7 +1016,7 @@ iomap_finish_page_writeback(struct inode *inode, struct page *page,
 
 	if (error) {
 		SetPageError(page);
-		mapping_set_error(inode->i_mapping, -EIO);
+		mapping_set_error(inode->i_mapping, error);
 	}
 
 	WARN_ON_ONCE(i_blocks_per_page(inode, page) > 1 && !iop);

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] iomap: pass writeback errors to the mapping
  2021-08-05 21:31 [PATCH] iomap: pass writeback errors to the mapping Darrick J. Wong
@ 2021-08-05 22:12 ` Matthew Wilcox
  2021-08-09 23:35   ` Darrick J. Wong
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Wilcox @ 2021-08-05 22:12 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: linux-fsdevel, Christoph Hellwig

On Thu, Aug 05, 2021 at 02:31:54PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> Modern-day mapping_set_error has the ability to squash the usual
> negative error code into something appropriate for long-term storage in
> a struct address_space -- ENOSPC becomes AS_ENOSPC, and everything else
> becomes EIO.  iomap squashes /everything/ to EIO, just as XFS did before
> that, but this doesn't make sense.
> 
> Fix this by making it so that we can pass ENOSPC to userspace when
> writeback fails due to space problems.
> 
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>

I could have sworn I sent this patch in earlier.  Anyway,

Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] iomap: pass writeback errors to the mapping
  2021-08-05 22:12 ` Matthew Wilcox
@ 2021-08-09 23:35   ` Darrick J. Wong
  0 siblings, 0 replies; 3+ messages in thread
From: Darrick J. Wong @ 2021-08-09 23:35 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: linux-fsdevel, Christoph Hellwig

On Thu, Aug 05, 2021 at 11:12:39PM +0100, Matthew Wilcox wrote:
> On Thu, Aug 05, 2021 at 02:31:54PM -0700, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> > 
> > Modern-day mapping_set_error has the ability to squash the usual
> > negative error code into something appropriate for long-term storage in
> > a struct address_space -- ENOSPC becomes AS_ENOSPC, and everything else
> > becomes EIO.  iomap squashes /everything/ to EIO, just as XFS did before
> > that, but this doesn't make sense.
> > 
> > Fix this by making it so that we can pass ENOSPC to userspace when
> > writeback fails due to space problems.
> > 
> > Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> 
> I could have sworn I sent this patch in earlier.  Anyway,
> 
> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>

It was an RFC that I then forgot about for a while.  I'll stuff this in
the iomap for-next branch the next time I do an update, which ... let's
see where the iomap iter series goes, review-wise.

--D

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-08-09 23:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-05 21:31 [PATCH] iomap: pass writeback errors to the mapping Darrick J. Wong
2021-08-05 22:12 ` Matthew Wilcox
2021-08-09 23:35   ` Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).