[PATCH v4 RESEND 0/2] vfs: have syncfs() return error when there are writeback errors

Jeff Layton
2020-04-14T12:04:29Z

I sent the original v4 set on February 13th. There have been no changes
since then (other than a clean rebase onto master). I'd like to see this
go into v5.8 if this looks reasonable. Original v4 cover letter follows:

-----------------8<---------------

v4:
- switch to dedicated errseq_t cursor in struct file for syncfs
- drop ioctl for fetching the errseq_t without syncing

This is the fourth posting of this patchset. After thinking about it
more, I think multiplexing file->f_wb_err based on O_PATH open is just
too weird. I think it'd be better if syncfs() "just worked" as expected
no matter what sort of fd you use, or how you multiplex it with fsync.

Also (at least on x86_64) there is currently a 4 byte pad at the end of
the struct so this doesn't end up growing the memory utilization anyway.
Does anyone object to doing this?

I've also dropped the ioctl patch. I have a draft patch to expose that
via fsinfo, but that functionality is really separate from returning an
error to syncfs. We can look at that after the syncfs piece is settled.

Jeff Layton (2):
vfs: track per-sb writeback errors and report them to syncfs
buffer: record blockdev write errors in super_block that it backs

drivers/dax/device.c | 1 +
fs/buffer.c | 2 ++
fs/file_table.c | 1 +
fs/open.c | 3 +--
fs/sync.c | 6 ++++--
include/linux/fs.h | 16 ++++++++++++++++
include/linux/pagemap.h | 5 ++++-
7 files changed, 29 insertions(+), 5 deletions(-)

--
2.25.2